我有一个使用Ant构建的项目。我有一个任务,它将源代码编译并将.class文件类化为一个内部版本。目录我还有一个任务,它将.class文件打包到位于bin/project.jar 的jar文件中
我有两项任务要执行这个项目。一个使用jar文件运行项目,另一个使用类文件运行项目。它们的配置方式如下:
<target name="run" depends="compile" description="run the project">
<java dir="${build.dir}" classname="${main.class}" fork="yes">
<arg line="${args}"/>
</java>
</target>
<target name="runjar" depends="jar" description="run the project from jar file">
<java jar="${jar.dir}/Project.jar" fork="true">
<arg line="${args}"/>
</java>
</target>
如果我运行任务run
,当前工作目录是/home/me/project/build/
如果我运行任务runjar
,当前工作目录是/home/me/project/
我不希望在我当前的工作目录中有多余的build/
。如何更改run
任务以正确设置当前工作目录?
将dir
设置为项目目录。然后添加classpath,其中一个位置指向build.dir
。
<target name="run" depends="compile" description="run the project">
<java dir="${project.dir}" classname="${main.class}" fork="yes">
<arg line="${args}"/>
<classpath>
<pathelement location="${build.dir}"/>
</classpath>
</java>
</target>