当我从Eclipse运行Maven并生成JAR时,我需要从命令行以这种方式运行JAR,一旦发布:
java -classpath [long list of dependencies] uk.co.superzoom.App
这是发布JAR的最佳方式,还是应该更改pom.xml以便能够以这种方式运行JAR:
java -jar myjar.jar
如果是第二种情况,则需要进行两项更改:
1)在清单中添加关于主类的信息,以便创建一个可运行的JAR
Main-Class: uk.co.superzoom.App
2)自动添加所有依赖项,而不必每次都从命令行编写长列表(此时它们只能从Eclipse中看到,但是从命令行我需要添加长列表)。
如何在我的pom.xml中实现步骤(1)和(2)。你能举出这方面的例子吗?
答案 0 :(得分:1)
使用Maven-Shade-Plugin。
这个插件提供了将工件打包在超级jar中的功能,包括它的依赖关系和阴影 - 即重命名 - 一些依赖项的包。
该插件将所有依赖项捆绑到一个可运行的jar文件中。它还允许您使用以下代码最小化jar文件的大小:
<configuration>
<minimizeJar>true</minimizeJar>
</configuration>
有关最小化的一些信息,请参阅我的question。