首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Docker和Kotlin缓存Maven

问使用Docker和Kotlin缓存Maven
EN

Stack Overflow用户
提问于 2019-07-12 15:05:02
回答 2查看 413关注 0票数 2

在构建Kotlin项目之前,我正在尝试预热Docker + Maven缓存。正如许多Maven/Docker线程所建议的那样,我的docker文件如下所示:

代码语言:javascript
复制
COPY pom.xml .
RUN  mvn dependency:go-offline
COPY ./src/ src/
RUN  mvn package

我的想法是,如果我更改./src目录中的文件,我希望docker cache跳过maven冗长的依赖项下载页面。

我的问题是mvn package命令仍然会下载很多文件。我尝试使用mvn -o package (maven离线标志)来诊断缺少哪些依赖项,但它只是报告它无法下载依赖项。但是我已经预料到依赖项已经在上一步中被下载了。下面是我使用"-o“标志得到的错误:

代码语言:javascript
复制
Step 8/13 : RUN  mvn dependency:go-offline
 ---> Using cache
 ---> 0334facb9cc9
Step 9/13 : COPY ./src/ src/
 ---> Using cache
 ---> 27149a191017
Step 10/13 : RUN  mvn -o package
 ---> Running in 5183eced32ca
Warning: JAVA_HOME environment variable is not set.
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building auth 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ auth ---
[WARNING] The POM for org.apache.maven:maven-core:jar:2.0.6 is missing, no dependency information available
[WARNING] The POM for org.apache.maven:maven-monitor:jar:2.0.6 is missing, no dependency information available
[WARNING] The POM for org.codehaus.plexus:plexus-utils:jar:2.0.5 is missing, no dependency information available
[WARNING] The POM for org.apache.maven.shared:maven-filtering:jar:1.1 is missing, no dependency information available
[WARNING] The POM for org.codehaus.plexus:plexus-interpolation:jar:1.13 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.882 s
[INFO] Finished at: 2019-07-12T07:02:23+00:00
[INFO] Final Memory: 13M/174M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources (default-resources) on project auth: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources failed: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: The following artifacts could not be resolved: org.apache.maven:maven-plugin-api:jar:2.0.6, org.apache.maven:maven-project:jar:2.0.6, org.apache.maven:maven-profile:jar:2.0.6, org.apache.maven:maven-artifact-manager:jar:2.0.6, org.apache.maven:maven-repository-metadata:jar:2.0.6, org.apache.maven:maven-plugin-registry:jar:2.0.6, org.apache.maven:maven-core:jar:2.0.6, org.apache.maven:maven-artifact:jar:2.0.6, org.apache.maven:maven-settings:jar:2.0.6, org.apache.maven:maven-model:jar:2.0.6, org.apache.maven:maven-monitor:jar:2.0.6, classworlds:classworlds:jar:1.1-alpha-2, org.codehaus.plexus:plexus-utils:jar:2.0.5, org.apache.maven.shared:maven-filtering:jar:1.1, org.codehaus.plexus:plexus-interpolation:jar:1.13: Cannot access central (https://repo.maven.apache.org/maven2) in offline mode and the artifact org.apache.maven:maven-plugin-api:jar:2.0.6 has not been downloaded from it before. -> [Help 1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-12 17:02:52

尝试使用mvn命令,它将我从maven错误中解救出来。

代码语言:javascript
复制
RUN  mvn --batch-mode --errors --strict-checksums --threads 1C \
     org.apache.maven.plugins:maven-dependency-plugin:3.0.2:go-offline

RUN  mvn --batch-mode --errors --offline package
票数 2
EN

Stack Overflow用户

发布于 2021-06-14 23:26:56

根据我从各种来源收集的信息,go-offline并不总是以正确的方式处理缓存包,将其中一些包留在本地存储库之外(请参阅GitHub上的拉取请求)。

在我的例子中,标准mvn dependency:go-offline使用go-offline 2.8并返回错误。然后我尝试运行mvn org.apache.maven.plugins:maven-dependency-plugin:3.2.0:go-offline,但我仍然在使用不同的包时遇到了一些问题。

对我来说起作用的是使用了GitHub上提供的一个不同的"go-offline“插件。

使用

代码语言:javascript
复制
mvn de.qaware.maven:go-offline-maven-plugin:resolve-dependencies

终于完成了任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57001765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档