maven 如何在Dockerfile中生成jar文件?

hk8txs48  于 2022-11-28  发布在  Maven
关注(0)|答案(2)|浏览(152)

我试图停靠一个Spring Boot 应用程序,但我有麻烦建立一个jar文件与maven。我已经尝试遵循this tutorial,但不知何故,我的.jar是不是被更新的'mvn包'命令内的Dockerfile。
如果我手动运行“mvn包”,然后构建映像,它就能工作。
这是我dockerfile

FROM openjdk:11
FROM maven:3.8-jdk-11 as maven_build
COPY pom.xml pom.xml
COPY src src
RUN mvn clean package
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

我项目结构

Demo
└── src
|    ├── main
|    │   ├── java
|    │       └── com
|    │           └── App.java
|    │               
|    │   
|    └── test
|
├──── Dockerfile
├──── pom.xml
yqhsw0fo

yqhsw0fo1#

您需要使用--from将在前一阶段构建的工件复制到当前阶段。
只需更换

COPY ${JAR_FILE} app.jar

COPY --from=maven_build /path/to/target/*.jar /app.jar
owfi6suc

owfi6suc2#

在这种情况下,您可以直接跳过Dockerfile,而使用下面的maven命令:

./mvnw spring-boot:build-image

它会为你建立一个 Docker 的形象

相关问题