2012-09-19 4 views
22

내 응용 프로그램 서버 ibm websphere. 응용 프로그램 서버 로그에 다음 오류가 표시됩니다. 어디에서 websphere 설정을 할 수 있습니까?클래스 경로에 여러 개의 SLF4J 바인딩이 있습니다.

[19.09.2012 14 : 56 : 54 : 940 EEST] 0000000a SystemErr R SLF4J : 클래스 경로에 여러 개의 SLF4J 바인딩이 포함되어 있습니다.
[19.09.2012 14 : 56 : 54 : 940 EEST] 0000000a SystemErr R SLF4J : [wsjar : file :/C : /Lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl]에서 바인딩을 찾을 수 없습니다./StaticLoggerBinder.class]
[19.09.2012 14 : 56 : 54 : 941 EEST] 0000000a SystemErr R SLF4J : 에 바인딩이 있음 [bundleresource : //217.fwk37356669 : 1/org/slf4j/impl/StaticLoggerBinder.class]
[19.09.2012 14 : 56 : 54 : 941 EEST] 0000000a SystemErr R SLF4J : 설명은 http://www.slf4j.org/codes.html#multiple_bindings을 참조하십시오.

+1

제안 된 링크를 방문하셨습니까? 이 질문을 통해 두 바인딩의 출처를 결정하는 데 도움을 얻을 수 있습니까? 하나는 C : /Lib/slf4j-log4j12-1.6.1.jar입니다. 다른 하나는 OSGi 참조라고 생각합니다. Eclipse/RAD에서 실행 중입니까? 어떤 WebSphere 버전입니까? – dbreaux

+2

아니요, 링크를 묻지 않고 있습니다. RAD8 및 WAS8을 사용합니다. 나는 C : /Lib/slf4j-log4j12-1.6.1.jar 폴더 아래에 넣는다. [bundleresource :// 217.fwk37356669 : – aliplane

+0

나는이 질문에 대한 더 나은 대답을 제시했다. (http : //stackoverflow.com/questions/22293550/websphere-multiple-slf4j-logback-bindings-work-around). 그 질문을 다시 시작하는 것에 대해 유감스럽게 생각하지만 지금 똑같은 문제에 직면하고 있습니다! – elTomato

답변

13

불행히도 websphere에는 자체 설치시 일반적으로 많이 사용되는 라이브러리가 많이 있습니다. 응용 프로그램에서 사용하려는 버전과 충돌하는 경우가 많습니다.

옵션은 응용 프로그램에서 라이브러리 jar를 제거하고 websphere가 제공하는 것을 사용하거나 클래스 로더 설정을 'parent last'로 변경하여 응용 프로그램과 함께 번들 된 lib가 먼저 발견되도록하는 것입니다. (이것은 slf4j 경고를 제거하지는 않지만 구현이 사용되는지 확인합니다).

죄송합니다. 설정을 찾을 수있는 세부 정보를 제공 할 수 없습니다 (지난 몇 년간 websphere에서 마지막으로 작업 한 내용).

+0

감사합니다. 이것은 정확히 제가 의심했던 것입니다. – asgs

0

콘솔 옵션 "파일 제거"에서 전체 jar (lib/slf4j-log4j12-1.7.2.jar)를 선택하여 충돌하는 클래스 중 하나를 ear에서 제거하고 있습니다. 응용 프로그램을 다시 시작하면 작동합니다.

관련 문제