You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Maven命令行执行Spring Boot项目以实现Docker化?

解决Spring Boot项目命令行执行与Docker化问题

一、先实现命令行运行项目

1. 基础环境检查

确保本地已安装Maven和与项目匹配的Java版本(查看pom.xml里的java.version字段,你的项目指定的是17)。

2. 直接命令行启动项目

进入项目根目录(包含pom.xml的文件夹),执行:

mvn spring-boot:run

如果之前指定goal无效,检查pom.xml是否包含Spring Boot Maven插件:
若没有,添加以下配置到<build>标签内:

<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
</plugins>

该插件是Spring Boot项目命令行运行、打包的核心依赖,继承spring-boot-starter-parent的项目会默认包含,若你的pom未继承父项目则需手动添加。

3. 打包成可执行Jar后运行

如果需要生成可部署的Jar包,执行:

mvn clean package -DskipTests

执行完成后,target目录会生成形如flipthebook-back-<版本号>.jar的可执行Jar,运行命令:

java -jar target/flipthebook-back-<版本号>.jar

(替换<版本号>为实际Jar文件名中的版本信息)

二、Docker化项目(基于Maven构建)

使用多阶段构建Dockerfile,既保证构建环境完整,又能缩小最终镜像体积:

# 构建阶段:用Maven镜像编译打包项目
FROM maven:3.8.6-openjdk-17 AS builder
WORKDIR /app
# 先复制pom.xml,利用Docker缓存优化构建速度
COPY pom.xml .
RUN mvn dependency:go-offline
# 复制源码并打包
COPY src ./src
RUN mvn clean package -DskipTests

# 运行阶段:用轻量JDK镜像运行Jar
FROM openjdk:17-jdk-slim
WORKDIR /app
# 从构建阶段复制生成的Jar包
COPY --from=builder /app/target/*.jar app.jar
# 暴露项目端口(根据你的实际端口修改,默认8080)
EXPOSE 8080
# 启动命令
ENTRYPOINT ["java", "-jar", "app.jar"]

构建与运行Docker容器

  1. 进入项目根目录,执行镜像构建命令:
docker build -t flipthebook-back .
  1. 启动容器:
docker run -p 8080:8080 flipthebook-back

(-p 8080:8080是将主机8080端口映射到容器内的8080端口,根据项目实际端口调整)

内容的提问来源于stack exchange,提问作者martinfo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 11:50:01