我创建了一个maven项目。它运行正常。现在我想通过jar运行我的代码。在maven构建之后,我在.m2文件夹中获得了一个jar文件。当我尝试使用
运行此jar时java -jar“jar path” 在“jar路径”中没有主要的清单属性。
我的POM.xml是
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>main.Application</mainClass>
</configuration>
</plugin>
</plugins>
</build>
请建议如何摆脱这个问题。
答案 0 :(得分:0)
现在我想通过jar
运行我的代码
exec-maven-plugin
用于在maven构建期间执行程序。
你不想要它。
作为附注,你没有为它指定任何目标
所以,它什么都不做。
您希望以可执行的方式打包jar
所以请使用maven-jar-plugin
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>main.Application</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
要创建一个在pom中指定依赖项的JAR,而不是maven-assembly-plugin
与jar-with-dependencies
descriptorRef
一起使用
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>main.Application</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>