我正在尝试在Docker容器中构建/部署Spring Boot。
export default {
name: 'HelloWorld',
data() {
return {
template: ``,
column: "hare",
item: {name: "krishna"},
msg: 'Welcome to Your Vue.js App'
}
},
created() {
this.template = `
<div :class="[c-${this.column}]">
....
<router-link :to="/list/${this.item.name}"> test </router-link>
....
</div>
`;
}
}
如您所见,我正在使用第一个mvn命令缓存所有依赖项,以使我的代码应用程序中的每次更改都不会触发新的依赖项下载。 它适用于大多数依赖项,但有些仍被下载(即使已缓存)。 这是第二个mvn命令(软件包)的日志:
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
(顺便说一句,(0 B / s下的0 B)有点奇怪...只是检查一下?)
如果我根据第一个maven命令之后的步骤启动一个容器(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 B/s)
[INFO] Downloading from spring-releases: https://repo.spring.io/libs-release/commons-io/commons-io/1.3.2/commons-io-1.3.2.pom
[INFO] Downloaded from spring-releases: https://repo.spring.io/libs-release/commons-io/commons-io/1.3.2/commons-io-1.3.2.pom (0 B at 0 B/s)
[INFO] Downloading from spring-releases: https://repo.spring.io/libs-release/org/apache/commons/commons-parent/3/commons-parent-3.pom
[INFO] Downloaded from spring-releases: https://repo.spring.io/libs-release/org/apache/commons/commons-parent/3/commons-parent-3.pom (0 B at 0 B/s)
[INFO] Downloading from spring-releases: https://repo.spring.io/libs-release/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar
...
lib似乎在那里,但是我可以在mvn包的日志中看到它:
[INFO]从春季发行版下载:https://repo.spring.io/libs-release/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.jar
如果我以脱机模式运行mvn软件包,则失败,因为它无法到达https://repo.spring.io/libs-release。
因此看起来它已被缓存,但是maven仍尝试下载此文件。 我已经在我的pom.xml中试过了
root@3281a837a236:/usr/share/maven/ref/repository# ls -lh org/codehaus/plexus/plexus-utils/1.5.15
total 244K
-rw-r--r-- 1 root root 202 Oct 19 12:07 _remote.repositories
-rw-r--r-- 1 root root 223K Oct 19 12:07 plexus-utils-1.5.15.jar
-rw-r--r-- 1 root root 40 Oct 19 12:07 plexus-utils-1.5.15.jar.sha1
-rw-r--r-- 1 root root 6.7K Oct 19 12:07 plexus-utils-1.5.15.pom
-rw-r--r-- 1 root root 40 Oct 19 12:07 plexus-utils-1.5.15.pom.sha1
但没有效果。
有什么主意吗? 谢谢!
答案 0 :(得分:2)
我终于使用go-offline-maven-plugin找到了解决方案。
<plugin>
<groupId>de.qaware.maven</groupId>
<artifactId>go-offline-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<dynamicDependencies>
<DynamicDependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>2.20.1</version>
<repositoryType>PLUGIN</repositoryType>
</DynamicDependency>
</dynamicDependencies>
</configuration>
</plugin>
并尝试使用以下方法获取所有依赖项:
mvn de.qaware.maven:go-offline-maven-plugin:resolve-dependencies