有没有办法将一些文件包含在战争的类文件夹中?Eclipse 正确地构建了战争,但我的 ant 脚本不能将文件包含在类文件夹中。
...
<property name="src.dir" location="src" />
<property name="build.dir" location="build" />
<property name="classes.dir" location="${build.dir}/classes" />
<target name="war" depends="mklib, retrieve, compile">
<war destfile="${war.file}" webxml="${webContent.dir}/WEB-INF/web.xml">
<classes dir="${classes.dir}" />
<fileset dir="${webContent.dir}" excludes="**/servlet-api*.jar,**/jsp-api*.jar" />
<fileset dir="${classes.dir}" includes="**/*.xml,**/*.sql" />
</war>
</target>
...
我要感谢您,他花了一点时间来考虑这个解决方案。无论如何,我所需要的一切都简单得多
<target name="war" depends="mklib, retrieve, compile">
<war destfile="${war.file}" webxml="${webContent.dir}/WEB-INF/web.xml">
<classes dir="${classes.dir}" />
<classes dir="${src.dir}" includes="**/start.xml, **/per*.xml, **/*.sql" />
<fileset dir="${webContent.dir}" excludes="**/servlet-api*.jar,**/jsp-api*.jar" />
</war>
</target>
所有需要做的就是将包含或包含属性写入类
<classes/>
子实体可用于除*.class
文件之外的内容。<classes/>
子实体所做的只是将指定的文件放在战争的WEB-INF/classes
目录中:
<target name="war" depends="mklib, retrieve, compile">
<war destfile="${war.file}" webxml="${webContent.dir}/WEB-INF/web.xml">
<classes dir="${classes.dir}" />
<classes dir="${resources.dir}"/> <!-- Other files that are in WEB-INF/classes -->
</war>
(我会用你的例子,但你有<fileset dir="${classes.dir}"
这意味着你把东西放在你的${classes.dir}
(你编译代码的地方)到你的战争的根源,这可能不是你想要的。
您也可以使用 <zipfileset/>
代替普通<fileset>
。该<zipfileset>
采用与<fileset>
相同的所有参数和子实体,但也包括一个prefix
参数,您可以在其中指定前缀目录:
<target name="war" depends="mklib, retrieve, compile">
<war destfile="${war.file}" webxml="${webContent.dir}/WEB-INF/web.xml">
<classes dir="${classes.dir}" />
<classes dir="${resources.dir}"/>
<zipfileset prefix="foo/resources"
dir="${foo.dir}">
<include name="**/*.foo"/>
</zipfileset>
</war>