在构建我们的项目期间,我遇到了奇怪的问题。问题可能归结为对 jaxws-rt 2.2.10 的依赖。主要问题是这个警告,它阻止传递依赖传播到我们的可分配项。
The POM for com.sun.xml.ws:jaxws-rt:pom:2.2.10 is invalid, transitive dependencies (if any) will not be available
pom 可能是错误的,如mvn dependency:tree -X
or的输出所示mvn dependency:tree -Dverbose
[WARNING] Failed to build parent project for com.sun.xml.ws:bundles:pom:2.2.10
[WARNING] Failed to build parent project for com.sun.xml.ws:jaxws-rt:pom:2.2.10
[WARNING] The POM for com.sun.xml.ws:jaxws-rt:pom:2.2.10 is invalid, transitive dependencies (if any) will not be available: 5 problems were encountered while building the effective model for co
m.sun.xml.ws:jaxws-rt:2.2.10
[ERROR] 'dependencies.dependency.version' for javax.xml.bind:jaxb-api:jar is missing. @
[ERROR] 'dependencies.dependency.version' for com.sun.xml.bind:jaxb-core:jar is missing. @
[ERROR] 'dependencies.dependency.version' for com.sun.xml.bind:jaxb-impl:jar is missing. @
[ERROR] 'dependencies.dependency.version' for org.jvnet.staxex:stax-ex:jar is missing. @
[ERROR] 'dependencies.dependency.version' for com.sun.xml.fastinfoset:FastInfoset:jar is missing. @
奇怪的是 jaxws-rt pom 没有定义上述库的版本。最大的魔力发生在我们的 jenkins 上,构建过程不同于任何其他笔记本电脑。只需将版本添加到本地 repo 中的 jaxws-rt pom 即可解决此问题。我相信,当我找出 jenkins 能够在没有警告的情况下构建它的原因时,我将能够修复笔记本电脑上的错误。
到目前为止我们调查了什么
- 似乎它不是特定于 Maven 版本的
- 似乎它不是特定于操作系统的
- 不要相信它可能是由不同的java版本引起的(只是尝试)
- 詹金斯没有认可的文件
- 下载的依赖项在内容方面是相同的(詹金斯与笔记本电脑)
注意:短期内不可能重写 pom,因为它已经有点复杂了