gpt4 book ai didi

java - 如何在我的 Ant 构建中包含外部 jar 库

转载 作者:IT老高 更新时间:2023-10-28 11:19:42 26 4
gpt4 key购买 nike

我有以下 build.xml:

<project>

<target name="clean">
<delete dir="./build"/>
</target>

<target name="compile">
<mkdir dir="./build/classes"/>
<javac srcdir="./src" destdir="./build/classes"/>
</target>

<target name="jar">
<mkdir dir="./build/jar"/>
<jar destfile="./build/jar/DependencyFinder.jar" basedir="./build/classes">
<manifest>
<attribute name="DependencyFinder" value="main"/>
</manifest>
</jar>
</target>

<target name="run">
<java jar="./build/jar/DependencyFinder.jar" classname="${main-class}" fork="true"/>
</target>

</project>

这是我的目录结构:

/构建/lib/魔术文件夹/源/build.xml

文件夹 src 包含 .java 文件。

MagicFolder 的路径应该是输入参数。

lib 有外部 .jar 库,应该包含在我的构建中。

build 文件夹,其中将编译 .jar 和.class` 文件

问题:我应该如何更改我的 build.xml?我的 build.xml 应该:

  1. 添加外部库./lib/jbl.jar
  2. 当我运行我的应用程序时,为我的应用程序输入 2 个输入参数

最佳答案

如果您需要在类路径中添加一个 jar 来编译代码(抱歉,您的要求不是很清楚),那么您需要更改 <javac>任务看起来像这样:

<javac srcdir="./src" destdir="./build/classes">   
<classpath>
<pathelement path="lib/jbl.jar"/>
</classpath>
</javac>

或者如果您需要添加 jbl.jar 的内容到您正在创建的 jar,然后您需要更改您的 <jar>任务看起来像这样:

<jar destfile="./build/jar/DependencyFinder.jar" basedir="./build/classes>
<zipgroupfileset dir="lib" includes="jbl.jar" />
<manifest>
<attribute name="DependencyFinder" value="main"/>
<attribute name="Main-Class" value="org.ivanovpavel.YourMainClass"/>
</manifest>
</jar>

<java> 添加参数调用,使用嵌套 <arg>元素:

<target name="run">
<java jar="./build/jar/DependencyFinder.jar:lib/jbl.jar" classname="dependencyfinder.DependencyFinder">
<arg value="Alexander Rosenbaum"/>
<arg value="Dmitry Malikov"/>
</java>
</target>

关于java - 如何在我的 Ant 构建中包含外部 jar 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19642388/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com