如何在使用Ant编译项目的源代码时包含.properties,.xml和其他资源文件?这是我的构建文件:
<?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文件,现在没有放在那里。我很欣赏完成这项任务的任何建议。
答案 0 :(得分:7)
在运行jar
任务之前复制这些资源文件。
<copy todir="${build.dir}">
<fileset dir="${src.dir}">
<exclude name="**/*.java"/>
</fileset>
</copy>
答案 1 :(得分:0)
这可以解决问题:
<target name="dist" depends="compile">
<echo>packaging classes</echo>
<jar jarfile="${dist.dir}/${project.distname}.jar" basedir="${build.dir}">
<fileset dir="${src}">
<include name="*.properties" />
</fileset>
</jar>
</target>