执行从maven build创建的jar文件

时间:2018-02-08 13:21:17

标签: java eclipse maven 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执行代码,它可以正常工作

1 个答案:

答案 0 :(得分:0)

你可以使用spring-boot插件创建一个带有依赖项的胖jar。 将其添加到您的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个罐子 一个用-spring-boot是你应该执行的。