2012-11-28 37 views
5

Làm cách nào để bao gồm .properties, .xml và các tệp tài nguyên khác trong khi biên dịch mã nguồn của một dự án bằng Ant? Đây là tệp xây dựng của tôi:Bao gồm các tệp .properties khi xây dựng một dự án bằng cách sử dụng ant

<?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> 

Hiện tại, bản dựng của tôi chỉ biên dịch các tệp Java và tạo lớp. Nhưng tôi có một số thuộc tính và tệp XML trong các thư mục khác nhau (bao gồm các thư mục nguồn), mà tôi muốn đưa vào thư mục đầu ra, không được đặt ở đó ngay bây giờ. Tôi đánh giá cao bất kỳ đề xuất nào trong việc hoàn thành nhiệm vụ này.

Trả lời

7

Sao chép các tệp tài nguyên đó trước khi chạy tác vụ jar.

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

có thể thực hiện mà không cần sao chép các tệp không? –

+0

bạn có thể vui lòng giải thích về nơi đặt thư mục tài nguyên không? Tôi có cùng một vấn đề. – LoveMeow

Các vấn đề liên quan