2011-07-18 3 views
0

Weblogic 116, Ejb3.0, quartz-all 1.8.5를 사용하고 있습니다.석영 - 응용 프로그램 수준에서 log4j 관련 문제

서버의 lib 디렉토리에서 log4j jar 파일을 삭제할 때 석영에 문제가 있습니다.

weblogic의 각 배포에서 자체 로깅을 사용하기 때문에 log4j가있을 수 있습니다 (lib 아래). 그래서 각 배포에는 고유 한 log4j jar가 있습니다.

거친 그 log4j.jarserver/lib dir에 놓으면 석영이 잘 작동하지만 내 배포에는 별도의 로그가 없습니다.

 
java.lang.NoClassDefFoundError: org/apache/log4j/Level 
    at org.slf4j.impl.StaticLoggerBinder.(StaticLoggerBinder.java:83) 
    at org.slf4j.impl.StaticLoggerBinder.(StaticLoggerBinder.java:53) 
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:122) 
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:112) 
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:268) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:241) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:254) 

.. 

답변

0

몇 가지 옵션 :

나는이 lib 디렉토리에서 log4j에 항아리를 제거

내가 석영에서 얻을 오류입니다.

1) log4j.jar을 공유 라이브러리 또는 선택적 패키지로 배포하십시오. http://download.oracle.com/docs/cd/E21764_01/web.1111/e13706/libraries.htm#i1064674 그런 다음 응용 프로그램에서 log4j를 참조하십시오. 응용 프로그램이 EAR이면 library-ref 요소가있는 weblogic-application.xml에서 공유 라이브러리로 참조 할 수 있으며 응용 프로그램을 배포하면 log4j.jar가 EAR의 APP-INF/lib에 추가됩니다 . 확장-목록 : log4jjar log4jjar - 확장 - 이름 : log4j에

의 log4j는 이름은 당신이 WAR있는 경우에, 당신은 META-INF/MANIFEST.MF 파일을 수정하여 옵션 패키지로 참조 할 수 있습니다

2) 이전에 배포 된 응용 프로그램에서 필터링 클래스 로더를 사용하십시오.

+0

내 배포의 ear 폴더에 참조 된 jar 파일을 추가하여 해결했습니다. – rayman

관련 문제