2013-06-26 2 views
4

나는 (나는 또한 1.8.1.1 몇 가지 테스트를 할) GAE 1.7.1와 프리 마커 2.3을 사용하려고 해요하지만 프리 마커가 초기화 아주 이상한 오류 발생하는이 :있는 IllegalAccessError

을 구성 객체 인스턴스화 할 때
java.lang.IllegalAccessError: Class 
    com.google.appengine.tools.development.agent.runtime.Runtime can not access 
    a member of class freemarker.log.Log4JLoggerFactory with modifiers "" 
at freemarker.log.Logger.createFactory(Logger.java:335) 
at freemarker.log.Logger.createFactory(Logger.java:304) 
at freemarker.log.Logger.selectLoggerLibrary(Logger.java:163) 
at freemarker.log.Logger.getLogger(Logger.java:266) 
at freemarker.template.utility.SecurityUtilities.<clinit>(SecurityUtilities.java:67) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:190) 
at com.google.appengine.tools.development.agent.runtime.RuntimeHelper.checkRestricted(RuntimeHelper.java:69) 
at com.google.appengine.tools.development.agent.runtime.Runtime.checkRestricted(Runtime.java:64) 
at freemarker.ext.beans.BeansWrapper.<clinit>(BeansWrapper.java:147) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:190) 
at com.google.appengine.tools.development.agent.runtime.RuntimeHelper.checkRestricted(RuntimeHelper.java:69) 
at com.google.appengine.tools.development.agent.runtime.Runtime.checkRestricted(Runtime.java:64) 
at freemarker.template.ObjectWrapper.<clinit>(ObjectWrapper.java:69) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:190) 
at com.google.appengine.tools.development.agent.runtime.RuntimeHelper.checkRestricted(RuntimeHelper.java:69) 
at com.google.appengine.tools.development.agent.runtime.Runtime.checkRestricted(Runtime.java:64) 
at freemarker.core.Configurable.<init>(Configurable.java:139) 
at freemarker.template.Configuration.<init>(Configuration.java:142) 
at freemarker.template.Configuration.<clinit>(Configuration.java:127) 

그것은 발생합니다 ...

Configuration configuration = new Configuration(); 

내가 Logger.selectLoggerLibrary 호출로 기본 로거를 변경하는 시도를하지만 비슷한이

,536,

도와 주셔서 대단히 감사합니다.

+0

Freemarker의 정확한 버전을 지정할 수 있습니까? (죄송합니다. 질문에 대한 의견을 남길 수 없습니다.) – naXa

+0

안녕하세요, 문제가 없습니다! GAE 용 버전 2.3.19를 사용하고 있습니다 ... 도움을 주셔서 감사합니다! –

+0

GAE 호환 바이너리를 사용하고 있습니까? [링크!] (http://freemarker.624813.n4.nabble.com/FreeMarker-2-3-19-is-out-Please-read-security-notes-td4433766.html) – naXa

답변

3

LIBRARY_SLF4J 또는 LIBRARY_COMMONSLogger.selectLoggerLibrary으로 선택해보십시오. 문제가 해결 되나요?

업데이트 : GAE의 Log4J에 대한 이유는 여기 있습니다. 2.3.20-gae에서 수정 될 예정입니다.

+0

예, classpath에 slf4j 항아리를 추가하고 LIBRARY_SLF4J를 사용하여 제 문제를 해결했습니다! 대단히 고마워요, 대니얼! –