gpt4 book ai didi

java - 使用 Maven 2 构建可运行的 jar

转载 作者:IT老高 更新时间:2023-10-28 11:42:38 26 4
gpt4 key购买 nike

我对 Maven 口头禅相对较新,但我正在尝试使用 Maven 构建一个命令行可运行的 jar。我已经设置了依赖项,但是当我运行 mvn install 并尝试运行 jar 时,会发生两件事。首先,没有找到主类,这是可以纠正的。更正此问题后,我在运行时收到错误消息,指出找不到类。

Maven 没有将我的依赖库打包到 jar 中,因此我无法将 jar 作为独立应用程序运行。我该如何纠正这个问题?

最佳答案

最简单的方法是使用 maven-assembly-plugin 和预定义的 jar-with-dependencies 描述符创建程序集。您还需要为此 uber jar 生成带有主类条目的 list 。下面的代码片段显示了如何配置程序集插件:

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>

然后,要生成程序集,只需运行:

mvn assembly:assembly

如果您想在构建过程中生成程序集,只需将 assembly:single mojo 绑定(bind)到包阶段:

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

然后简单地运行:

mvn package

关于java - 使用 Maven 2 构建可运行的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2022032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com