无法解此问题。
只是试图升级一些旧内容,其中一部分我需要将使用log4j的自定义jar捆绑。我确实为<javac>
任务添加了以下内容,该任务成功地编译了。
<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>
作业中,我看不到带有自定义JAR包装的log4j
依赖关系。这可能是一个愚蠢的问题,但是如何确保从另一个应用程序调用我的自定义Jar不会失败,因为依赖性未包装?只要classloader在目标应用程序中加载log4j,就可以了吗?
此外,我需要在清单中添加一些东西吗?
我无法使用Maven(是的)一会儿,因此无法解决Maven
您可以使用一Jar将代码与依赖关系一起包装到一个大型可执行罐中。
它可以用作命令行的独立工具,也可以用作build.xml。
中定义的任务。<!-- Construct the One-JAR file -->
<one-jar destfile="hello.jar" manifest="hello.mf">
<main>
<!-- Construct main.jar from classes and source code -->
<fileset dir="${classes.dir}/src"/>
</main>
<lib>
<fileset file="${build.dir}/lib.jar" />
</lib>
</one-jar>