一 概述
今天在发布项目到docker容器中的时候,项目启动没有报错,但是日志提示:
no main manifest attribute, in /app/app.jar
二 修复
增加配置:
<build>
<finalName>${project.name}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<includeSystemScope>true</includeSystemScope>
<--指定主类-->
<mainClass>com.**.**.xxxApplication</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
<configuration>
<repository>${project.artifactId}</repository>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
</plugins>
</build>
注意增加项目名称信息
<name>api-thirdparty</name>
补充dockerfile配置:
FROM openjdk:8-jdk-alpine
COPY ./target/*.jar /app/app.jar
# ENTRYPOINT ["java","-Xmx500m","-jar","/app/app.jar"]
ENTRYPOINT ["java","-Xmx500m","-jar","-Dspring.profiles.active=dev","/app/app.jar"]
EXPOSE 端口号如:8168
如有更多细节后续补充。。。