2012-11-28 62 views
5

如何在編譯使用Ant的項目源代碼時包含.properties,.xml和其他資源文件?這是我的構建文件:在使用ant構建項目時包含.properties文件

<?xml version="1.0"?> 
<project name="NmzAzzist" basedir="." default="main"> 
    <property name="src.dir" value="Source/Myproj" /> 
    <property name="build.dir" value="ReleaseBuild/classes" /> 
    <property name="jar.dir" value="ReleaseBuild" /> 

    <path id="master-classpath"> 
     <fileset dir="lib"> 
      <include name="*.jar" /> 
     </fileset> 
    </path> 

    <target name="clean" description="Clean output directories"> 
     <delete dir="${build.dir}" /> 
    </target> 

    <target name="build" description="Compile source tree java files"> 
     <echo>Compiling the source code</echo> 
     <mkdir dir="${build.dir}" /> 
     <javac destdir="${build.dir}" source="1.5" target="1.5" includeantruntime="false"> 
      <compilerarg value="-Xlint:unchecked" /> 
      <src path="${src.dir}" /> 
      <classpath refid="master-classpath" /> 

     </javac> 
    </target> 

    <target name="jar" depends="build"> 
     <mkdir dir="${jar.dir}" /> 
     <echo>building jar!</echo> 

     <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${build.dir}"> 
      <manifest> 
       <attribute name="Main-Class" value="com.ushustech.nmsazzist.NMSAzzistApp" /> 
      </manifest> 
     </jar> 
    </target> 

    <target name="run" depends="jar"> 
     <java jar="${jar.dir}/${ant.project.name}.jar" fork="true" /> 
    </target> 

    <target name="main" depends="clean,run" /> 

</project> 

現在我的構建只編譯Java文件和生產類。但是我在包含在輸出目錄中的各種文件夾(包括源文件夾)中有一些屬性和XML文件,這些文件現在沒有放在那裏。我非常感謝您完成此任務的任何建議。

回答

7

在運行jar任務之前複製這些資源文件。

<copy todir="${build.dir}"> 
    <fileset dir="${src.dir}"> 
     <exclude name="**/*.java"/> 
    </fileset> 
</copy> 
+1

是否可以在不復制文件的情況下進行操作? –

+0

可否請您詳細說明資源文件夾應放置在哪裏?我也有同樣的問題。 – LoveMeow

相關問題