我不确定如何在这里配置我的ANT任务。我有这样的目录结构。在我的java文件夹中是我的属性文件。当我调用我的"战争"蚂蚁目标时,我想包含它们
-src
-java
-com
-test
-MyClass.java
-messages.properties
-messages_en_US.properties
-web
-WEB-INF
-index.xhtml
这是我的战争蚂蚁目标
<project name="myApp" basedir=".">
<property name="build.dir" value="${basedir}/build" />
<property name="src.dir" value="${basedir}/src" />
<property name="dist.dir" value="${basedir}/dist" />
<property name="web.folder" value="web" />
<property file="env.properties" />
<target name="war" depends="compile">
<war destfile="dist/${ant.project.name}.war" webxml="${web.folder}/WEB-INF/web.xml">
<fileset dir="${web.folder}">
</fileset>
<classes dir="build/classes"/>
</war>
</target>
</project>
但是当我查看war文件时,它没有*。属性文件
-WEB-INF
-classes
-com
-test
-MyClass.class
我尝试使用include标签,但仍然没有进展。
<fileset dir="${web.folder}">
<include name="**" />
</fileset>
我错过什么了吗?由于
您是否尝试了以下方法来获取属性文件?:
<fileset dir="${src.dir}" includes="**/*.properties"/>
我想这和Harry Joy在评论里写的差不多。:)
一般来说,如果Java源目录中有.properties文件,则应该在编译阶段将它们复制到目标/classes目录
<javac ... />
<copy todir="target/classes">
<fileset dir="src/java" includes="**/*.properties,**/*.xml" />
</copy>
请注意,在某些情况下,人们将这些文件分离到一个单独的文件夹中(这是maven中的默认方法),以保持更整洁。比如src/resources (maven使用src/main/resources)
你仍然需要做上面的复制