当我从 Eclipse 运行 Maven 并生成 JAR 时,一旦发布,我需要从命令行以这种方式运行 JAR:
java -classpath [long list of dependencies] uk.co.superzoom.App
这是发布 JAR 的最佳方式还是我应该更改 pom.xml 以便能够以这种方式运行 JAR:
java -jar myjar.jar
如果是第二种情况,则需要进行两处更改:
1) 将有关主类的信息添加到 list 中,以创建可运行的 JAR
Main-Class: uk.co.superzoom.App
2)自动添加所有依赖项,而不必每次都从命令行编写长列表(目前它们只能从 Eclipse 中看到,但从命令行我需要添加长列表)。
如何在我的 pom.xml 中实现步骤 (1) 和 (2)。您能提供任何例子吗?
最佳答案
使用 Maven-Shade-Plugin。
This plugin provides the capability to package the artifact in an uber-jar, including its dependencies and to shade - i.e. rename - the packages of some of the dependencies.
该插件将所有依赖项捆绑到一个可运行的 jar 文件中。它还允许您使用以下代码最小化 jar 文件的大小:
<configuration>
<minimizeJar>true</minimizeJar>
</configuration>
查看我的question有关最小化的一些信息。
关于java - Maven 中的可运行 jar 以及如何使用依赖项和 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19661620/