我正在使用 Maven 程序集插件,我使用它为我的应用程序生成具有所有依赖项的单个 Jar 文件(jarlib.xml
根据此处给出的定义解包:https ://gist.github.com/knyttl/7cc0730ae0fb6947cbda )。然后dependency.jar
可以使用 my 将其放在类路径上application.jar
并以java -cp application.jar:dependencies.jar my.class.Runner
. 然而,问题在于解压 jar 时相同工件的多个版本。
例如,我使用org.apache.xmlrpc:xmlrpc-server:jar:3.1.3
的取决于javax.servlet:servlet-api:jar:2.3
. 在我的应用程序中,我需要使用不同的、较新版本的 . javax.servlet
,但是在解包时,会跳过新版本,而是使用旧版本。
- 有没有办法忽略由 给出的依赖关系
xmlrpc-server
? - 有没有办法优先考虑新版本的
javax.servlet
? - 有没有一种方法可以创建单个 jar 而无需解压依赖项并能够与它们一起使用
-cp application.jar:dependencies.jar
?当我尝试在不解包的情况下构建 jar 时,运行应用程序时没有找到任何内部 jar 类。