Log4j를 사용하는 사용자 정의 항아리를 번들로 사용해야하는 일부 오래된 항목과 일부를 업그레이드하려고합니다. 나는 성공적으로 컴파일하는 나의 <javac>
작업을 위해 다음을 추가했다.Java Ant Job 내 항아리와 함께 Log4j jar를 배송하는 방법
<path id="my.classpath">
<fileset dir="${mainpath}">
<include name="**/*log4j*.jar"/>
</fileset>
</path>
<javac srcdir="src/java" destdir="build/filez/java" debug="on" deprecation="no"
includes="my/instruments/**/*, org/apache/log4j/**/*">
<classpath refid="my.classpath"/>
</javac>
하지만, 내 <jar>
작업에서 나는 내 사용자 지정 항아리 가득 어떤 log4j
종속성을 볼 수 없습니다. 이것은 바보 같은 질문 일지 모르지만 종속성이 압축되지 않았기 때문에 다른 응용 프로그램에서 호출 할 때 내 사용자 정의 jar 파일이 실패하지 않도록하는 방법은 무엇입니까? log4j가 대상 응용 프로그램의 클래스 로더에 의해로드되는 한 괜찮습니까?
또한 내 매니페스트에이 내용을 추가해야합니까?
나는 잠시 동안 (예 내가 아는) 메이븐을 사용할 수 없습니다, 그래서 당신은 그것을 하나의 큰 실행 JAR에 종속이다와 함께 코드를 패키지로 One-JAR을 사용할 수 있습니다 받는다는
파일을 jar 파일에 포함 시키려면 javac이 아니라'jar' 작업으로 제어합니다. jar에 log4j를 포함시킬 필요가 있는지 여부는 그것이 런타임인지 또는 컴파일 시간 의존인지에 따라 다릅니다. – CAustin