我正在创建一个将创建一个JAR文件的build.xml文件,此JAR文件应在清单中运行我设置的主类。这是代码,
<description>
Create a Java Project (JAR) with Ant build script
</description>
<target name="init" description="Initializes properties">
<echo message="initializing properties..." />
<property name="src.dir" location="src" />
<property name="build.dir" location="build" />
<property name="project.name" value="TestMain" />
<property name="build.dir" value="build" />
<property name="classes.dir" value="${build.dir}/classes" />
</target>
<presetdef name="javac">
<javac includeantruntime="false" />
</presetdef>
<target name="clean" description="delete the build directory" depends="init">
<echo message="deleting temporary directory..." />
<delete dir="${build.dir}" />
<delete file="${project.name}.jar"/>
</target>
<target name="prepare" description="Creates the build and classes directories" depends="clean">
<echo message="creating temporary directory..." />
<mkdir dir="${classes.dir}" />
</target>
<target name="compile" description="Compiles the code" depends="prepare">
<echo message="compiling codes..." />
<javac srcdir="${src.dir}" destdir="${classes.dir}" />
</target>
<target name="jarfile" description="JARs the code" depends="compile">
<echo message="creating jar file..." />
<jar destfile="${project.name}.jar" basedir="${classes.dir}" includes="com/**">
<manifest>
<attribute name="Main-Class" value="com.java.apache.ant.TestMain" />
</manifest>
</jar>
</target>
我在 target中遇到了一个错误:compile ,它说 src不存在
Buildfile: C:_GITApacheAntdeploybuild.xml
Trying to override old definition of task javac
init:
[echo] initializing properties...
clean:
[echo] deleting temporary directory...
[delete] Deleting directory C:_GITApacheAntdeploybuild
prepare:
[echo] creating temporary directory...
[mkdir] Created dir: C:_GITApacheAntdeploybuildclasses
compile:
[echo] compiling codes...
BUILD FAILED
C:_GITApacheAntdeploybuild.xml:33: srcdir "C:_GITApacheAntdeploysrc" does not exist!
这是我项目的结构
src
|__com.... *.java
build
|__com...*.class
deploy
|__build.xml
当我检查了在部署文件夹中创建的构建/类文件夹时,复制了 *.class文件。谢谢
外观,您的构建XML考虑将"部署"作为项目的基本目录,从而将" SRC"作为" Deploy/src"。请检查"项目"标签中的"基于"属性以正确设置。