使用 Maven 在可执行 JAR 中包含签名库
Posted
技术标签:
【中文标题】使用 Maven 在可执行 JAR 中包含签名库【英文标题】:Including Signed Libraries in Executable JAR with Maven 【发布时间】:2017-10-20 13:00:26 【问题描述】:Maven shade 和 assembly 插件首先解包,然后将依赖项添加到可执行 jar 中。这可能会与 Java Cryptography Extension 产生冲突,因为像 BouncyCastle 这样的库应该在其签名版本中使用。 问题:有没有一种方法可以使用 maven 创建可执行 jar,并且无需解包即可包含库?
【问题讨论】:
【参考方案1】:标准的类加载器不会从另一个 jar 加载类,因此是爆炸的 jar。实现添加签名 jar 的最佳方法是使用 -cp 命令,例如:
java -cp signedjar;shadepluginjar Main
【讨论】:
以上是关于使用 Maven 在可执行 JAR 中包含签名库的主要内容,如果未能解决你的问题,请参考以下文章
通过 maven-assembly-plugin 打包在 jar 中包含 spring xml