Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ANT/ProGuard:在使用zipgroupfileset打包之前,从*第三方JAR中*删除文件_Java_Jar_Ant_Proguard - Fatal编程技术网

Java ANT/ProGuard:在使用zipgroupfileset打包之前,从*第三方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> 我在定义文件集时尝试了各种排除选项,但它

我正在创建一些可运行的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>
我在定义文件集时尝试了各种排除选项,但它们只从文件集中排除文件,而不是从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])