有没有办法将一些文件包含在war的classes文件夹中? 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>
...
答案 0 :(得分:2)
我要感谢你,他花了一点时间考虑这个解决方案。 无论如何,我所需要的只是更简单
<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>
所有需要做的就是在类
中写入include或includes属性答案 1 :(得分:1)
<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>