我正在尝试在 docker 容器中构建/部署 Spring Boot。
FROM maven:3.5.3-jdk-8-slim AS build
COPY ./pom.xml /app/pom.xml
RUN cd /app
RUN mvn -f /app/pom.xml -s /usr/share/maven/ref/settings-docker.xml dependency:go-offline dependency:resolve-plugins -B
COPY . /app
RUN mvn -f /app/pom.xml -s /usr/share/maven/ref/settings-docker.xml --batch-mode package -DskipTests
Run Code Online (Sandbox Code Playgroud)
如您所见,我使用第一个 mvn 命令缓存所有依赖项,以便我的代码应用程序中的每个更改都不会触发新的大量依赖项下载。它适用于大多数依赖项,但仍然下载一些(即使缓存)。这是第二个 mvn 命令(包)的日志:
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< xxx:xxx >----------------------
[INFO] Building xxxx 0.0.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- apt-maven-plugin:1.1.3:process (default) @ vsol-java ---
[INFO] Downloading from spring-releases: https://repo.spring.io/libs-release/org/apache/commons/commons-io/1.3.2/commons-io-1.3.2.pom
[INFO] Downloaded from spring-releases: https://repo.spring.io/libs-release/org/apache/commons/commons-io/1.3.2/commons-io-1.3.2.pom (0 B at 0 …Run Code Online (Sandbox Code Playgroud)