2016-01-04 82 views
0

我有一個使用Ant構建的項目。我有一個任務,它將.class文件的源代碼和類編譯到構建中。目錄。我也有一個任務,將.class文件打包到位於bin/project.jar的jar文件中。我有兩個任務來運行該項目。一個使用jar文件運行項目,另一個使用類文件運行。它們被配置以下列方式:Ant:從basedir運行java項目,編譯類在build

<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

dir設置爲項目目錄。然後添加類路徑,指向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> 
+0

謝謝,這工作得很好!我將我的project.dir設置爲'。' – Dave