1

当我从 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)。你能提供任何这方面的例子吗?

4

1 回答 1

1

使用 Maven-Shade-Plugin。

插件的页面

这个插件提供了将工件打包在 uber-jar 中的能力,包括它的依赖项和遮蔽 - 即重命名 - 一些依赖项的包。

该插件将所有依赖项捆绑到一个可运行的 jar 文件中。它还允许您使用以下代码最小化 jar 文件的大小:

<configuration>
  <minimizeJar>true</minimizeJar>
</configuration>

有关最小化的一些信息,请参阅我的问题

于 2013-10-29T15:05:54.910 回答