Java Maven:忽略特定工件而不会使构建失败
我试图在本地构建apachecxf。它在maven代理(例如JFrog Artifactory)后面不起作用,因为CXF的transitives依赖项包含一个具有无效Java Maven:忽略特定工件而不会使构建失败,java,maven,artifactory,Java,Maven,Artifactory,我试图在本地构建apachecxf。它在maven代理(例如JFrog Artifactory)后面不起作用,因为CXF的transitives依赖项包含一个具有无效pom.xml文件的依赖项: [ERROR] Failed to execute goal on project cxf-rt-transports-jms: Could not resolve dependencies for project org.apache.cxf:cxf-rt-transports-jms:bundle:
pom.xml
文件的依赖项:
[ERROR] Failed to execute goal on project cxf-rt-transports-jms: Could not resolve dependencies for project org.apache.cxf:cxf-rt-transports-jms:bundle:3.4.0-SNAPSHOT: Failed to collect dependencies at org.apache.activemq:activemq-pool:jar:5.15.9 -> org.apache.activemq:activemq-jms-pool:jar:5.15.9 -> org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec:jar:1.0.1: Failed to read artifact descriptor for org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec:jar:1.0.1: Could not transfer artifact org.apache.geronimo.specs:specs:pom:1.1 from/to nexus-central (https://myrepo.local/maven-central/): Failed to transfer file https://myrepo.local/maven-central/org/apache/geronimo/specs/specs/1.1/specs-1.1.pom with status code 409 -> [Help 1]
如果无法解析XML文件,Artifactory将提供409。在本例中,工件是apache.geronimo.specs:specs:pom:1.1
。如果查看XML文件,您会发现它确实无效:
在第89行之后(关闭
),有一个额外的“
我在apache上发布了一个问题来修复他们的构建:
同时,我希望与CXF合作,创建一个补丁程序
我尝试过的事情:
- 手动安装依赖项=>失败,因为mvn仍在查找更新
- 无代理=>不是我的选项:(
- 在
=>上本地添加一些排除项没有帮助,我将永远无法捕获所有排除项(可传递依赖项…)parent/pom.xml
- 将有问题的工件的版本强制为1.2也没有帮助,因为一些项目仍然依赖于特定的版本
org/apache/geronimo/specs/specs/1.1/specs-1.1.pom
下载到本地.m2
路径中并修复错误。[您需要确保所有依赖项都在本地存储库中可用
]-o
(脱机)-o
无效,请尝试使用-nsu,--no snapshot updates
(抑制快照更新)希望对您有所帮助。您可以手动将带有更正pom的版本上载到Artifactory中的托管工件存储库。然后创建/使用存储库组访问Artifactory,确保本地存储库在Maven Central之前包含在该组中。