我创建了一个包含Filter
的Jar项目。
编译servlet-api.jar
代码时,我需要使用Filter
。
但是当我想在另一个应用程序中使用Jar时,我想以这样的方式构建jar,它将排除servlet-api.jar
。
我在NetBeans 8中使用Apache Ant:
我在build.xml
添加了以下代码。
<target name="-post-jar">
<jar destfile="dist/MyJar.jar">
<zipfileset src="dist/MyJarAsLibrary.jar"/>
<zipgroupfileset dir="dist/lib/." excludes="javax/*"/>
</jar>
</target>
我使用过Apache Ant zipgroupfileset。
但我搜索谷歌我发现文件的排除。
我尝试将servlet包排除为javax/*
,但它不起作用。
不知道如何排除特定的包。
我发现很少有zipfileset
排除,但我需要使用zipgroupfileset
并排除javax.servelt.*
个包。
答案 0 :(得分:2)
excludes
的{{1}}属性用于选择存档以从中选择条目,而不是过滤存档的内容。 zipgroupfileset
始终包含匹配的归档中包含的所有内容。
如果您知道哪个存档包含servlet类,那么简单的解决方案就是将其从zipgroupfileset
中排除,并添加一个明确的zipgroupfileset
。
如果您不知道存档,则可以使用zipfileset
资源集合模仿zipgroupfileset
并将其包装到archives
容器中。像
restrict