Java ANT/ProGuard:在使用zipgroupfileset打包之前,从*第三方JAR中*删除文件
我正在创建一些可运行的JAR(桌面JavaFX应用程序) 我有一个第三方JAR文件集,包括:Java ANT/ProGuard:在使用zipgroupfileset打包之前,从*第三方JAR中*删除文件,java,jar,ant,proguard,Java,Jar,Ant,Proguard,我正在创建一些可运行的JAR(桌面JavaFX应用程序) 我有一个第三方JAR文件集,包括: <fileset id="shared_lib" dir="${aux.debian.lib.dir}"> <include name="commons-lang3-3.4.jar"/> <include name="commons-io-2.4.jar"/> ... </fileset> 我在定义文件集时尝试了各种排除选项,但它
<fileset id="shared_lib" dir="${aux.debian.lib.dir}">
<include name="commons-lang3-3.4.jar"/>
<include name="commons-io-2.4.jar"/>
...
</fileset>
我在定义文件集时尝试了各种排除选项,但它们只从文件集中排除文件,而不是从include jar中排除文件
有没有办法简单地过滤作为zipgroupfileset一部分压缩的内容?也许在ProGuard
这只是一个小麻烦,因为所有东西都与警告一起工作,但让我恼火的是,我感觉应该很简单的东西却在逃避我。您可以将
duplicate=“preserve”
添加到
元素中,如中所述:
复制品
- 发现重复文件时的行为。有效值为“添加”、“保留”和“失败”。默认值为“添加”李>
您是否已尝试将
duplicate=“preserve”
添加到
元素中,如中所述?@VGR谢谢。这是可行的,而且很简单,正如我所怀疑的那样,我只是在ProGuard和文件集中寻找选项。你想把它作为答案发布吗?
<jar destfile="myapp.jar" filesetmanifest="mergewithoutmain">
<zipgroupfileset refid="shared_lib"/>
<manifest>
<attribute name="Main-Class" value="mypackage.myapp"/>
<attribute name="Class-Path" value="."/>
</manifest>
<fileset dir="./classes" />
</jar>
[proguard] Warning: can't write resource [META-INF/LICENSE.txt] (Duplicate zip entry [myapp.jar:META-INF/LICENSE.txt])
[proguard] Warning: can't write resource [META-INF/NOTICE.txt] (Duplicate zip entry [myapp.jar:META-INF/NOTICE.txt])