通过说我从没使用过Ant或XML作为开头,目前正在学习如何使用它。当使用硬编码的目录时,构建工作正常,但是一旦引入变量,它就会开始引起一些问题...
这里是我的build.xml:
<?xml version="1.0" ?>
<project name="builder" default="main">
<property name="message" value="Building the .jar file." />
<property name="java-dir" value="src" description="java directory" />
<property name="txt-dir" value="text" description="text directory" />
<property name="javadoc-dir" value="docs" description="javadoc directory" />
<property name="jar-dir" value="bin" description="jar directory" />
<property name="class-dir" value="classes" description="class directory" />
<target name="main" depends="compile">
<echo>
$(message)
</echo>
</target>
<target name="compile" depends="document">
<javac srcdir="$(java-dir)" destdir="$(class-dir)" />
</target>
<target name="compress">
<jar jarfile="$(jar-dir)/Main.jar"
manifest="$(txt-dir)/manifest.txt"
basedir="$(jar-dir)"
includes="$(class-dir)/*.class" />
</target>
<target name="document" depends="compress">
<javadoc sourcefiles="$(jar-dir)/Builder.java" destdir="$(javadoc-dir)">
</javadoc>
</target>
</project>
这是我在Unix终端上运行Ant
的结果。
BUILD FAILED
/users/REDACTED/REDACTED/REDACTED/REDACTED/build.xml:22: Manifest file: /users/REDACTED/REDACTED/REDACTED/REDACTED/$(txt-dir)/manifest.txt does not exist.
您可能会看到,显示为$(txt-dir)/manifest.txt
,而不是text/manifest.txt
。我尝试了一些搜索,但是似乎找不到任何原因。有什么想法吗?
如martin clayton的评论中提到的,使用大括号而不是圆括号!我的讲师的幻灯片中括号错误。谢谢!