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

如何使用Maven-Assembly-Plugin从dependencySet中删除META-INF?

羊舌昆杰
2023-03-14

我正在获取此错误堆栈跟踪

java.lang.SecurityException: SHA-256 digest error for org/bouncycastle/tsp/TSPException.class
at sun.security.util.ManifestEntryVerifier.verify(ManifestEntryVerifier.java:223) ~[?:1.8.0_201]
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:243) ~[?:1.8.0_201]
at java.util.jar.JarVerifier.update(JarVerifier.java:230) ~[?:1.8.0_201]
at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:484) ~[?:1.8.0_201]
at sun.misc.Resource.getBytes(Resource.java:124) ~[?:1.8.0_201]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:463) ~[?:1.8.0_201]
at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_201]
at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_201]
at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_201]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_201]
at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_201]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_201]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_201]

我可以简单地在我的Proguard配置上使用keep选项来使其工作(没有签名验证错误)。但是,由于这个JAR的大小相当大(4MB),所以我想实际针对这个特定的bcprov-jdk15on.JAR使用它

是否有方法使用maven-assembly-plugin来unsign依赖项jar?

谢谢你。

共有1个答案

陆展
2023-03-14

这在maven assembly插件中是不可能的。

从文档中可以看到:

如果您的项目希望将您的工件打包到一个uber-jar中,装配插件只提供基本的支持。要获得更多的控制,请使用Maven Shade插件。

 类似资料:
  • 我有一个项目,它使用maven-assembly-plugin打包了几个(可执行的jar)程序集--基本上相同的代码,但针对不同的客户机使用了不同的数据集。 我需要在可执行jar中使用spring,由于spring中的文件命名,我需要使用maven-shade-plugin创建jar。这工作很好,我可以创建可执行的jar,但我不能确定如何将我的其他文件组装到这个新的shaded jar,因为sha

  • Maven 的 Assembly 插件用来将项目中的依赖、模块和网站稳定等其他资源打包到一个单独的分发文件。

  • 我使用maven和maven-jar-plugin和maven-assembly-plugin构建了项目的zip,包括项目jar及其依赖项。

  • 问题内容: 我想使用properties-maven-plugin。我阅读了用法http://mojohaus.org/properties-maven- plugin/usage.html ,但是它对我不起作用。 我创建了一个非常简单的项目对其进行测试。这是我的pom.xml: 如果我运行mvn compile或mvn install,则结果为: “ my.properties”文件包含以下内容

  • 在使用maven apache felix插件构建捆绑jar时,如何排除一些META-INF文件? 这是我的felix配置 我正在引入所有传递依赖项并嵌入它们,因为我想创建一个可以添加到类路径的jar。 当我尝试运行我的jar时,尽管我遇到了异常 在SO上找到一篇帖子后,我手动删除了一些似乎来自bouncy文件的META-INF/file。然后我重新创建了jar文件,它成功了。有没有一种方法可以使

  • 问题内容: 我有一个Maven项目,我想从中创建两个可执行的jar文件。一个将与用户交互使用,第二个将作为计划作业运行,读取前者生成的日志文件。最后,除了MANIFEST.MF文件中的Main- Class属性外,我希望两个jar文件都相同。 我正在使用maven-antrun- plugin创建一个可执行jar,在我尝试通过引入Maven配置文件尝试创建第二个jar文件之前,这似乎工作得很好。我