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

时间:2016-01-04 16:55:11

标签: ant

我有一个使用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任务以正确设置当前工作目录?

1 个答案:

答案 0 :(得分:1)

private static final ImmutableMap<String, List<?>> lists = // vvvvvvvvvvvvvvvvv ImmutableMap.<String, List<?>>of( "A", new ArrayList<String>(), "B", new ArrayList<Integer>()); 设置为项目目录。然后添加classpath,其位置指向dir

build.dir