从自定义类导入时,无法对XMLBeans jar进行签名

cha*_*lor 5 java xmlbeans jar-signing apache-poi

在NetBeans中,我创建了一个Exporter类,它使用APACHE POI将一些数据导出到EXCEL文件,后者使用XMLBeans.

我通过下载zip二进制文件并手动添加jar来添加APACHE POI 3.10.1库.

当我在同一个项目中使用这个类时,一切都正常运行.

然后我通过右键单击Libraries - > Add Project将此类添加到另一个项目中.

但是当我尝试运行时,我在编译时遇到以下错误.

Signing JAR: C:\Users\c\p\dist\lib\xmlbeans-2.6.0.jar to C:\Users\c\p\dist\lib\xmlbeans-2.6.0.jar as nb-jfx
jarsigner: unable to sign jar: java.util.zip.ZipException: duplicate entry:    org/apache/xmlbeans/xml/stream/Location.class
Enter Passphrase for keystore: Enter key password for nb-jfx: 
C:\Users\c\p\nbproject\jfx-impl.xml:1465: The    following error occurred while executing this line:
C:\Users\c\p\nbproject\jfx-impl.xml:2968: The following error occurred while executing this line:
C:\Users\c\p\nbproject\jfx-impl.xml:1940: jarsigner   returned: 1
Run Code Online (Sandbox Code Playgroud)

我不知道这可能是什么,但让我发疯.

Dan*_*iel 14

在XMLBEANS Jira中打开了一个定义此问题的错误.https://issues.apache.org/jira/browse/XMLBEANS-499,其中一条评论报告修复.我还没试过,但我正在这样做.看看这个.

更新:已解决.事后看来,解决方案是显而易见的,但如果正确创建了.jar,那就很痛苦.解压缩(我只是将.jar扩展名更改为.zip并继续).jar将删除重复的.class文件(本例中为8),然后使用jar工具重新创建.jar文件.该命令是:"jar cf(path)\ xmlbeans-2.6.0.jar -C(解压缩文件夹路径)." 不要忘记命令末尾的句号.然后我将新的xmlbeans-2.6.0.jar复制到我的lib目录中,现在一切正常.希望这有助于其他人!:-)