运行java -jar时无法加载Main-Class清单属性

Sim*_*one 57 java spring spring-mvc maven

mvn clean package按照本教程,我已经成功构建了我的Spring MVC项目.

现在我正在尝试运行该服务:

mvn clean package && java -jar target/gs-serving-web-content-0.1.0.jar
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

无法从target/gs-serving-web-content-0.1.0.jar加载Main-Class清单属性

我错过了什么吗?

小智 142

如果您正在使用Spring Boot,这将解决您的问题:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>1.2.5.RELEASE</version>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

参考指南| Spring Boot Maven插件

  • 简单地添加上面的代码并使用`mvn package`对我来说不起作用.我不得不使用`mvn package spring-boot:repackage`,它创建了独立的应用程序. (19认同)
  • 当我这样做时,由于NoClassDeff,我的集成测试失败了……向执行中添加&lt;phase&gt; post-integration-test &lt;/ phase&gt;可以为我解决 (2认同)
  • `mvn package spring-boot:repackage`解决了我的问题。感谢上面随附的文档。 (2认同)

小智 20

您可能缺少Spring Boot Maven插件.

<plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
Run Code Online (Sandbox Code Playgroud)