<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version> Your Version Here </version>
<configuration>
<!-- put your configurations here -->
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
7条答案
按热度按时间klsxnrf11#
注意:如果您是一个Spring启动应用程序,请阅读答案的结尾部分
添加以下插件到您的
pom.xml
最新版本可以是found at配置完这个插件后,运行
mvn package
将产生两个jar:一个只包含项目类,第二个包含所有依赖项,后缀为“-jar-with-dependencies”。如果您希望在运行时正确设置
classpath
,那么还可以添加以下插件对于Spring Boot 应用程序仅使用以下插件(选择适当的版本)
icnyk63a2#
您可以使用maven-shade-plugin。
在构建中配置shade插件后,命令
mvn package
将创建一个jar,所有依赖项都合并到其中。tmb3ates3#
也许您需要
maven-shade-plugin
、捆绑依赖项、最小化未使用的代码并隐藏外部依赖项以避免冲突。参考文献:
dm7nw8vv4#
实际上,添加
对maven-jar-plugin的声明不会为我将主类条目添加到清单文件中。我必须将其添加到maven-assembly-plugin中,以便在清单中获得它
u0sqgete5#
您可以使用X1 E0 F1 X进行打包。基本上,它将您的项目及其依赖项组装为一个jar,不仅包括您的项目jar文件,还包括所有外部依赖项作为“jar的jar”,例如。
注1:配置选项可在项目home page中获得。
注2:由于某种原因,onejar-maven-plugin项目没有在Maven Central发布,但是jolira.com会跟踪原始项目,并将其发布到具有groupId
com.jolira
的。1hdlvixo6#
另一种方法是使用maven shade插件构建
uber-jar
。y53ybaqx7#
如果要使用maven-assembly-plugin,请阅读。
正如其他人已经给出的答案,maven-shade-plugin似乎提供了更多的特性,是构建一个fat jar的推荐插件,但是如果你想使用maven-assembly-plugin,下面的插件配置也可以。
@jmj的答案解释了正确的类路径可以通过一个额外的maven-jar-plugin来设置,但是这只会将类路径添加到原始jar而不是fat jar中,而这些信息必须直接包含在maven-assembly-plugin的配置部分中。
当您现在运行
maven package
时,将创建您的normal和fat jar,您可以使用java -jar yourJar.jar
运行您的fat jar。