使用Docker运行一个SpringBoot应用时,出现如下图所示的错误信息
解决方案: SpringBoot应用的pom.xml文件中添加以下配置;重新打包即可
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 如果不指定版本,容器出现一下错误;当前SpringBoot的版本就是1.6.13 -->
<!-- org/springframework/boot/maven/RepackageMojo has been compiled by a more
recent version of the Java Runtime (class file version 61.0), this version of the
Java Runtime only recognizes class file versions up to 55.0-->
<version>2.6.13</version>
<configuration>
<!-- mainClass 标签是解决'no main manifest attribute, in xxx.jar' 问题的关键,这里配置的是当前应用主启动类的包名 -->
<!-- 如果你的项目没有有启动类,也不需要通过 'java -jar' 运行的话可以不用配置 mainClass -->
<mainClass>com.idooy.gulimall.gateway.GulimallGatewayApplication</mainClass>
<!-- finalName 标签里的就是打出来的 jar 名,一般进行配置,使用默认的即可 -->
<!-- <finalName>${project.artifactId}</finalName>-->
<!-- 如果你希望最终生成的 jar 包不包含第三方依赖那直接用上面的插件配置即可。如果希望最终生成的 jar 包里包含第三方依赖那就删除 includes 标签及其里面的内容 -->
<!-- <includes>-->
<!-- <include>-->
<!-- <groupId>nothing</groupId>-->
<!-- <artifactId>nothing</artifactId>-->
<!-- </include>-->
<!-- </includes>-->
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>