2014-09-30 2 views
0

저는 몇 개의 API를 게시하는 websphere에 유틸리티 jar를 배포하고 있습니다. 이제 이러한 API는 웹 응용 프로그램에 의해 호출됩니다. 이제이 항아리는 log4j2를 로깅에 사용합니다. 두 개의 log4j2 jar (log4j-api-2.0.2.jar & & log4j-core-2.0.2.jar)의 패키지를 추가하여 uber jar를 만들려고했습니다. 나는 유틸리티 항아리를 만들기 위해 ant를 사용하여 이것을 수행한다. 여기 Websphere Log4j2 클래스 경로 문제

같은 JVM에 앉아 웹 응용 프로그램이 항아리 API를 호출 할 때

<!--Creates the client jar file --> 
<target name="clientjar" depends="compile"> 


    <jar destfile="${dist.dir}/client/myUtility.jar" basedir="${class.dir}">  

     <zipgroupfileset dir="${lib.dir}" includes="*.jar" /> 

     <manifest> 
      <attribute name="Built-By" value="${user.name}" /> 
      <attribute name="Build-Date" value="${timestamp}" /> 
      <section name="${ant.project.name}"> 
       <attribute name="Implementation-Title" value="${project.implementation.title}"/> 
       <attribute name="Specification-Version" value="${project.version}"/> 
      </section> 
     </manifest> 

    </jar> 
</target> 

내 문제는, log4j에 다음을 뱉어 나를 위해 단지를 구축 개미 코드의 조각이다 오류 메시지

오류 StatusLogger Log4j2가 로깅 구현을 찾지 못했습니다. log4j-core를 classpath에 추가하십시오. SimpleLogger를 사용하여 콘솔에 로그온 ...

모든 포인터가 도움이 될 것입니다.

답변

0

log4j-core jar 파일의 압축을 풀고 더 큰 jar 파일의 일부로 다시 압축하면 원래 log4j-core jar 파일에 있던 모든 파일을 포함하도록하십시오. 그것은 log4j-api가 찾을 많은 설정 파일을 포함합니다. 이 파일들이 없다면 당신은 당신이 만난 오류를 얻을 것입니다.

+0

나는 rezipped 버전을 원래 버전과 비교했습니다. manifest.mf 파일을 제외한 모든 것이 괜찮은 것 같습니다. 매니페스트 파일은 원래의 jar 파일과 함께 제공된 매니페스트 파일과 다른 것으로 보입니다. 그것이 우려라고 생각하십니까? – echo