当前位置: 首页 > 知识库问答 >
问题:

基于解包签名JAR的maven结构问题

霍襦宗
2023-03-14

我正在使用Maven开发独立应用程序。我尝试了以下场景:1。它使用maven shade插件解包所有的依赖项,这样我的签名JAR(bcprov-jdk16-1.46.jar)就被解包了。因此丢失了JAR的标志,因为am收到安全异常“JCE无法验证提供者BC”。2.使用maven assembly插件(基于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)

共有1个答案

公孙威
2023-03-14

罐子里不能有罐子。除非你用像Jar-Jar这样的黑客。您只需将所有依赖项保留在lib文件夹中即可。就简单多了。

 类似资料:
  • 本文向大家介绍解析Java编程中对于包结构的命名和访问,包括了解析Java编程中对于包结构的命名和访问的使用技巧和注意事项,需要的朋友参考一下 包的命名 包的名字应该避免与其他包冲突,所以选择一个既有意义又唯一的名字是包设计的一个重要方面。但是全球的程序员都在开发包,根本就没有办法获知谁采用了什么包名,因此选择唯一的包名是一个难题。如果我们确定某个包只在我们的组织内部使用,那么我们就可以让内部仲裁

  • 本文向大家介绍Maven打包jar包没有主属性问题解决方案,包括了Maven打包jar包没有主属性问题解决方案的使用技巧和注意事项,需要的朋友参考一下 Spring boot项目结合docker容器用,打了个jar包,启动的时候竟然说:no main manifest attribute, in target/*.jar 但也不是所有的微服务的jar包都不能启动,比对一下这两个包对应的打包插件 可

  • 代码在这里,使用BouncyCastle实现: 我希望能够读取此签名并使用公钥验证它。如何将其转换回BouncyCastle对象?

  • 目标:构建基于 Maven 和 Tomcat 的基础镜像 本项目代码维护在 DaoCloud/docker-demo-build-base-image 项目中。 您可以在 GitHub 找到本项目并获取本文中所提到的所有代码文件。 前言 在 Java 开发的世界中,有很大一部分应用是基于 Maven 构建的,而最终的交付结果也是一个 war 包,所以,构建一个基于 Maven 和 Tomcat 的

  • 问题内容: 我想知道Netbeans是否具有一些选项或设置,这些选项或设置将允许我在构建过程中自动签名jar。 问题答案: 在您的ant目标中,从文件 〜/ .keyconf中 读取 密码可能很方便。授予文件仅用户访问权限:例如或。 __

  • 问题内容: 我正在使用Travis-CI为我正在研究的一些Java开源项目提供持续的集成构建。 通常这可以顺利进行,但是当POM指定GPG签名时我遇到问题,例如 这将导致Travis构建失败-显然是因为它在运行时没有可用的密码。有关示例,请参见此构建。 配置Maven和/或Travis以跳过针对CI测试版本的GPG签名,但在执行适当的发行版本时仍执行GPG签名的最佳方法是什么? 问题答案: 您需要