0

我正在使用 maven 开发独立应用程序。我尝试过以下场景, 1. 使用 maven shade 插件解压缩所有依赖项,以便解压缩我签名的 jars(bcprov-jdk16-1.46.jar)。因此丢失了 jar 的标志,因为出现了安全异常“jce 无法验证提供者 bc”。2. 使用 maven 程序集插件(基于 assembly.xml)和 maven jar 插件(为所有 jar 设置类路径)这里我已经实现将所有依赖项移动到 lib 文件夹并创建我的项目 jar 没有依赖项最后我分组为压缩文件。这个逻辑修复了安全异常问题,我的应用程序工作正常。但是在这里我只需要将 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)
4

1 回答 1

0

罐子里不能有罐子。除非你使用像 jar-jar 这样的 hack。您应该将所有依赖项保留在 lib 文件夹中。它要简单得多。

于 2014-05-09T10:03:28.117 回答