我试图在docker中构建一个开源项目,并希望节省构建上的时间,所以我尝试使用mvn dependency:go-offline,它确实下载了maven-surefire-plugin本身。
运行mvn -o clean package后会导致
错误未能在项目oxalis-api上执行目标org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M4:test (默认测试):目标org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M4:test的执行默认测试失败:插件org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M4或其依赖项无法解决:无法在脱机模式下访问apache.snapshots (http://repository.apache.org/snapshots/)和工件org。丛:丛-utils:jar:1.1以前从未从其中下载过。->帮助1
(我启用了快照存储库,因为maven依赖插件在多模块项目中存在严重问题。)
POM包括
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
</plugin>
</plugins>
</pluginManagement>如上所述,离线后我的存储库中确实存在该插件本身。
发布于 2021-07-27 14:05:25
您的maven本地存储库似乎使用了遗留结构details 这里。因此,目标dependency:go-offline在遗留模式中准备存储库,那么构建package的实际目标无法找到依赖项,因为它使用默认模式。
因此,对于特定场景,可以使用以下命令下载批处理模式下的依赖项和插件:
mvn dependency:resolve-plugins dependency:go-offline -B 使用脱机、批处理和遗留本地存储库选项,您可以在构建过程中使用以下内容:
mvn package -o -llr -B提示:如果您需要构建中没有在主pom中显式定义的附加插件或依赖项,如您在构建过程中添加的插件或依赖项(例如,三叶草、诱惑、约定等),则可以使用以下命令预下载:
mvn dependency:get -Dartifact=org.openclover:clover-maven-plugin:4.4.1 -B提示2:如果脱机时出现问题,并且不使用依赖项,可能是因为下载依赖项和构建项目时有不同的maven设置。您可以考虑删除本地存储库中的maven-metadata*.xml和_*.repositories,您可以使用以下命令:
find ~/.m2/repository -name 'maven-metadata*.xml' | xargs -n1 rm
find ~/.m2/repository -name '_*.repositories' | xargs -n1 rm发布于 2020-01-08 21:35:13
我也面临着同样的问题,把版本从3.0.0-M4改为2.12,这对我很有帮助。我仍然在试图弄清楚为什么它不能与3.0.0-M4一起工作。
https://stackoverflow.com/questions/58972874
复制相似问题