【问题标题】:Why is maven dependency:go-offline not preventing redownloading?为什么 maven dependency:go-offline 不阻止重新下载?
【发布时间】:2021-12-12 20:42:44
【问题描述】:

我使用dependency:go-offline 来避免在我的 Docker 构建中重新下载。然而,docker build -t myimage . 会导致重新下载 jar。如何防止重新下载?

Dockerfile 的相关部分。

FROM maven:3.8.3-jdk-8 AS build
COPY src /usr/src/app/src  
COPY pom.xml /usr/src/app
COPY run.sh /usr/src/app
RUN mvn -f /usr/src/app/pom.xml dependency:go-offline
RUN mvn -f /usr/src/app/pom.xml install dependency:copy-dependencies

FROM gcr.io/distroless/java
COPY --from=build /usr/src/app/ .

ENTRYPOINT ["./run.sh"]

【问题讨论】:

    标签: docker maven docker-build


    【解决方案1】:

    使用-o 开关。这将启用离线构建。

    见https://stackoverflow.com/a/7233762/927493

    【讨论】:

    • 谢谢。这可能会有所帮助或mvn install 但是,重新下载发生在go-offline
    • 另外,对于mvn install,-o 开关会导致此错误Unable to parse configuration of mojo org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce for parameter requireUpperBoundDeps: Cannot create instance of class org.apache.maven.plugins.enforcer.RequireUpperBoundDeps: org/apache/maven/shared/dependency/tree/DependencyTreeBuilderException: org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException -> [Help 1]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    相关资源
    最近更新 更多