执行从maven build创建的jar文件
我通过mvn clean install创建了一个jar文件。 在pom.xml中,我也指定了主类的名称。
<configuration>
<archive>
<manifest>
<mainClass>com.amdocs.som.dashboard.report.MainClass</mainClass>
</manifest>
</archive>
</configuration>
当我尝试使用java -jar app.jar执行jar时,它在app.jar和我指定主类名称以及使用此命令java -cp app.jar com时出现错误,说明没有主要清单属性。 dashboard.report.MainClass,它为javax / mail / MessagingException提供了我的NoClassDefError。
PS:如果我从eclipse执行代码,它可以正常工作,没有任何问题
你可以使用spring-boot插件来创建一个依赖关系的胖罐子。 将此添加到您的pom.xml中
<build>
<plugins>
.... other plugins.
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.2.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>spring-boot</classifier>
<mainClass>com.amdocs.som.dashboard.report.MainClass</mainClass>
<executable>true</executable>
</configuration>
</execution>
</executions>
</plugin>
</build>
</plugins>
现在当你做一个mvn clean install
。 它会创建2个jar,其中-spring-boot就是你应该执行的。