Ant:从basedir运行java项目,编译类在构建中



我有一个使用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>

相关内容

  • 没有找到相关文章

最新更新