Я пытаюсь добавить Log4j в путь к классам моего проекта в Ant, который создает исполняемый JAR, но кажется, что он не добавляется должным образом.
Вот компонент path
моего скрипта сборки Ant:
<path id="classpath.compile">
<fileset dir="${dir.myLibs}">
<include name="**/*.jar"/>
</fileset>
<pathelement location="${dir.webContent}/WEB-INF/lib/log4j.jar" />
</path>
Цель компиляции выглядит так:
<target name="-compile">
<javac destdir="${dir.binaries}" source="1.6" target="1.6" debug="true" includeantruntime="false">
<src path="${dir.source}"/>
<classpath refid="classpath.compile"/>
</javac>
</target>
Цель, которая создает JAR:
<target name="-createJar" >
<jar jarfile="${path.jarFile}"
manifest="${dir.source}\META-INF\MANIFEST.MF">
<fileset dir="${dir.binaries}" casesensitive="yes">
<exclude name="**/*.java"/>
</fileset>
</jar>
</target>
Наконец, MANIFEST.MF:
Manifest-Version: 1.0
Class-Path: ../../../WebContent/WEB-INF/lib/log4j.jar (what is this pathing relative to?)
Main-Class: foo.Bar
JAR создан, но когда я его выполняю, я получаю:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger...
Есть мысли о том, что я делаю не так?