问题
将 springboot 项目打成 jar 包,随后 java -jar 包名 报错,
原因是找不到 jar 包中 main 方法所在的类,找不到程序的主入口。
解决
情况一
你的项目继承自 spring-boot-starter-parent
,则在要打包的微服务的 pom.xml 中加上如下配置:
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
情况二
你的项目不继承自 spring-boot-starter-parent
,而是通过< dependencyManagement > 标签引入,则需要手动指定 main 方法的所在位置,加入如下配置:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.6</version>
<configuration>
<mainClass>com.zxb.oss.OssApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>