我有一个非常特殊的场景,我的项目lib目录下有很多子文件夹,其中包含我正在使用的jar的依赖jar。例如
lib/abc.jar
lib/abcDependent/abc1.jar
lib/abcDependent/abc2.jar
lib/abcDependent/abc3.jar
现在,由于我正在进行ant build,我只想在没有目录结构的情况下将所有jar包含在战争中。但下面的代码片段也包括目录结构。
<lib dir="${lib.dir}">
<include name="dp-common-${project.major.verson}.${project.minor.version}.jar" />
<include name="**/*.jar" />
</lib>
期待最终在我的战争的lib目录中拥有所有的jar。像
lib/abc.jar
lib/abc1.jar
lib/abc2.jar
lib/abc3.jar
提前致谢。
答案 0 :(得分:1)
而不是&lt; lib&gt;,它只是在创建的.war文件中将文件集放在WEB-INF / lib下的简写,而是使用mappedresources子元素:
<zipfileset prefix="WEB-INF/lib">
<mappedresources>
<fileset dir="${lib.dir}">
<include name="dp-common-${project.major.verson}.${project.minor.version}.jar" />
<include name="**/*.jar" />
</fileset>
<flattenmapper/>
</mappedresources>
</zipfileset>
答案 1 :(得分:0)
如果我必须这样做,我宁愿采用以下方法。
war
文件。lib
。这样,您应该能够使用中间目录为最终包创建相同或不同的目录结构。