我是Ant的新手,我在编译项目时遇到了一些问题。我的项目.properties
中有几个src/
个文件。我通过我的.WAR
(在下面发布)将我的项目编译为build.xml
。在部署时,我看到几个FileNotFound
例外,甚至在解压缩.WAR
文件后,我发现*.properties
文件在我的最终版本中不存在。我究竟做错了什么?提前谢谢。
的build.xml
<?xml version="1.0" ?>
<project name="APP" default="war">
<path id="compile.classpath">
<fileset dir="WebContent/WEB-INF/lib">
<include name="*.jar" />
</fileset>
</path>
<target name="init">
<mkdir dir="build/classes" />
<mkdir dir="dist" />
</target>
<target name="compile" depends="init">
<javac destdir="build/classes" includeantruntime="false" debug="true" srcdir="src">
<classpath refid="compile.classpath" />
</javac>
</target>
<target name="war" depends="compile">
<war destfile="dist/APP.war" webxml="WebContent/WEB-INF/web.xml" duplicate="preserve">
<fileset dir="WebContent" />
<lib dir="WebContent/WEB-INF/lib" />
<classes dir="build/classes" />
</war>
</target>
答案 0 :(得分:0)
调用war
任务时,您根本没有包含这些属性文件。你应该明确地包含它们(我使用zipfileset
添加前缀,以便它们被放置在正确的路径中):
<war destfile="dist/APP.war" webxml="WebContent/WEB-INF/web.xml" duplicate="preserve">
<fileset dir="WebContent" />
<zipfileset dir="src"
prefix="WEB-INF/classes">
<include name="**/*.properties"/>
</zipfileset>
<lib dir="WebContent/WEB-INF/lib" />
<classes dir="build/classes" />
</war>
或者srkavin在评论中提出的建议(但是对子目录中的文件进行了一些修改):
<war destfile="dist/APP.war" webxml="WebContent/WEB-INF/web.xml" duplicate="preserve">
<fileset dir="WebContent" />
<lib dir="WebContent/WEB-INF/lib" />
<classes dir="build/classes" />
<classes dir="src" includes="**/*.properties"/>
</war>