gpt4 book ai didi

java - 将 jar 添加到 Ant 构建

转载 作者:行者123 更新时间:2023-11-30 07:22:25 26 4
gpt4 key购买 nike

我尝试将 json jar 添加到我的 Travis-CI ant 构建中,我还检查了 stackoverflow 中的问题,这个问题可能是重复的,但我无法处理它。当 travis 编译我的代码时,它不能使用 JSON,我想我在构建 xml 时做错了什么。请帮助我,我是 Ant 的新人。

  <project name="Hello" basedir="." default="main">
<property name="dir.src" value="src"/>
<property name="dir.build" value="build"/>
<property name="dir.classes" value="${dir.build}/classes"/>
<property name="dir.jar" value="${dir.build}/jar"/>

<property name="main-class" value="TestConsole"/>
<target name="clean">
<delete dir="${dir.build}"/>
</target>

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

<target name="jar" depends="clean, compile">
<mkdir dir="${build}/${jar}" />
<jar destfile="src/json-simple-1.1.1.jar" basedir="${build}/${classes}">
<manifest>
<attribute name="Main-Class" value="MainClass" />
</manifest>
</jar>
</target>

<target name="run" depends="jar">
<java jar="${dir.jar}/${ant.project.name}.jar" fork="true"/>
</target>

<target name="clean-build" depends="clean,jar"/>
<target name="main" depends="clean,run"/>
</project>

最佳答案

这是因为java编译器无法找到编译所需的类。您需要通过类路径向 javac 提供所有必需的 jar。

因此,在构建 xml 中,您需要指定类路径,如下所示:

  <path id="project.class.path">
<pathelement location="bin/"/> <!-- to put a folder in class path -->
<pathelement location="lib/helper.jar"/> <!-- to put a jar in class path -->
<pathelement path="${java.class.path}/"/>
</path>

然后在执行 javac 时使用这个类路径,如下所示:

<javac srcdir="${dir.src}" destdir="${dir.classes}">
<classpath refid="project.class.path"/>
</javac>

同样,您必须在使用 java 运行类时执行此操作

请参阅writing a simple build file了解更多信息。

关于java - 将 jar 添加到 Ant 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37324410/

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