我对 Maven 咒语相对较新,但我正在尝试使用 Maven 构建一个命令行可运行的 jar。我已经设置了我的依赖项,但是当我运行时mvn install
并尝试运行罐子,发生了两件事。首先,没有找到主类,这是可以纠正的。当我更正这个问题后,我在运行时收到错误,指出找不到类。
Maven 没有将我的依赖库打包到 jar 中,因此我无法将 jar 作为独立应用程序运行。我该如何纠正这个问题?
最简单的方法是使用以下命令创建一个程序集maven-assembly-plugin
和预定义的jar-with-dependencies
描述符。您还需要生成一个清单,其中包含此 uber jar 的主类条目。下面的代码片段展示了如何配置程序集插件来执行此操作:
<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
打包阶段的魔力:
<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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)