我正在使用maven处理独立应用程序。 我试过以下场景, 1.使用maven shade插件 它解压缩所有依赖项,以便解压缩我签名的jar(bcprov-jdk16-1.46.jar)。所以丢失了jar的标志,因为这得到安全异常“jce无法验证提供商bc”。 2.使用maven程序集插件(基于assembly.xml)和maven jar插件(为所有jar设置类路径) 在这里,我已经实现了将所有依赖项移动到lib文件夹并创建了我的项目jar而没有依赖项,最后我将其分组为zip文件。这个逻辑修复安全异常问题我的应用程序正常工作但是在这里我只需要将bcprov-jdk16-1.46.jar移动到lib文件夹中,其他jar需要在我的应用程序jar中。
但我需要做以下结构
zip
|
-- MyProject.jar
|
-- unpacked dependancies (except signed dependancies)
|
-- lib folder
|
-- signed jar (bcprov-jdk16-1.46.jar)
答案 0 :(得分:0)
你不能在罐子里放罐子。除非你使用像jar-jar这样的hack。您应该将所有依赖项保留在lib文件夹中。它简单得多。