【发布时间】:2019-08-14 12:31:01
【问题描述】:
我们确实有一个简单的 maven pom,比如
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>org.xy.project.z</groupId>
<artifactId>client</artifactId>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.xy.maven</groupId>
<artifactId>own-maven-plugin</artifactId>
<version>1.19.0</version>
<executions>...</executions>
</plugin>
</plugins>
</build>
</project>
你可能猜到了own-maven-plugin是我们自己在另一个项目中创建的maven插件,并且有一个独立的版本。到目前为止没有问题。但是突然间(至少对我来说)提供的 pom 不再运行了。它停止了消息:
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Failure to find org.xy.projcect:a:bundle:1.0.7-SNAPSHOT in http://repo.local:8081/repository/maven-public/ was cached in the local repository, resolution will not be reattempted until the update interval of internal-repository has elapsed or updates are forced
发生了什么。我们创建了一个新版本的own-maven-plugin 这个插件一直是一个包含所有必要依赖项的胖罐子。现在我们所做的只是添加了另一个依赖项。
所以有两件事我不明白。
为什么 maven 会尝试解析已创建的 jar 的所有依赖项,该 jar 在
build-plugins中使用。为什么我删除
.m2/org/xy/maven/own-maven-plugin/own-maven-plugin-1.19.0.pom后问题解决了@
这是可重现的,添加已删除的 pom 会使构建失败。我在 maven 插件 description site 上没有发现任何迹象表明我的问题。
所以如果有人有解释。请告诉我。
UPDATE-1: 更新错误信息
【问题讨论】:
-
请发布完整的错误消息输出,而不仅仅是摘录...
-
您可以使用 flatten 插件从 fatjar 中的依赖项中清除
pom.xml:mojohaus.org/flatten-maven-plugin/flatten-mojo.html#flattenMode -
谢谢你不知道这个插件
标签: java maven plugins build pom.xml