我正在使用ANT构建war文件,我想将src目录包含在war文件中。当我使用fileset元素时,仅包含该文件夹的内容。我希望src目录包含在WEB-INF文件夹中。我不想将源复制到磁盘上的WEB-INF文件夹。 Ant正确地将我的lib目录中的jar包含到WEB-INF/lib
中,而不在我的项目中复制它们。
所以我会有这样的事情:
/WEB-INF
/WEB-INF/src
/WEB-INF/classes
/WEB-INF/lib
/META-INF
目标如下:
<target name="war" depends="init">
<war destfile="dist/web.war" webxml="WebContent/WEB-INF/web.xml">
<fileset dir="WebContent"/>
<lib dir="WebContent/WEB-INF/lib"/>
<lib dir="lib"/>
<classes dir="build/classes"/>
<classes dir="config"/>
</war>
</target>
答案 0 :(得分:8)
我假设您试图将src包含在内:
<fileset dir="src"/>
如果你使用它,它应该有效:
<fileset dir="." includes="src/**"/>
如果您需要将文件或目录放入战争中的特定路径,则可以使用zipfileset代替其前缀属性,例如
<zipfileset dir="." includes="src/**" prefix="WEB-INF"/>
(另请参阅war task documentation中的示例,其中包括zipfileset的用法)。