簡體   English   中英

com.sun.xml.ws:jaxws-rt:pom:2.2.10 的 POM 無效

[英]The POM for com.sun.xml.ws:jaxws-rt:pom:2.2.10 is invalid

我在項目構建過程中遇到了奇怪的問題。 問題可能歸結為對 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 -Xmvn 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 上,構建過程與任何其他筆記本電腦不同。 只需將版本添加到本地存儲庫中的 jaxws-rt pom 即可解決此問題。 我相信,當我發現為什么 jenkins 能夠在沒有警告的情況下構建它時,我將能夠修復筆記本電腦上的錯誤。

到目前為止我們調查了什么

  • 似乎它不是特定於 Maven 版本的
  • 似乎不是特定於操作系統的
  • 不要相信它可能是由不同的java版本引起的(只是嘗試)
  • jenkins 中沒有支持的文件
  • 下載的依賴項在內容方面是相同的(詹金斯 vs 筆記本電腦)

注意:短期內不可能重寫 pom,因為它已經有點復雜了

要找出構建在 jenkins 和筆記本電腦上的行為不同的原因,您可以檢查以下幾點:

  • 驗證您在兩側使用完全相同的 Maven 版本。 例如,您可以在 jenkins 中添加一個簡單的“mvn -version”任務來輸出版本詳細信息。
  • 驗證您的 maven 安裝中沒有特殊設置:在 jenkins 和您的筆記本電腦上執行“mvn help:effective-pom”“mvn help:effective-settings” ,然后您可以比較這兩個設置:是否有一些不同的定義<repository><mirror>在一側?

如果設置有一些差異,您可以在 maven 安裝中檢查以下文件:

  • Maven 安裝路徑中的全局設置: conf/settings.xml
  • jenkins 代理的 $home 中的用戶設置: $home/.m2/settings.xml

請注意,可以分別使用-gs-s mvn 命令行選項覆蓋此設置文件中的每一個。

在我的例子中JAVA_HOME環境變量指向 JRE。 我將它設置為我的 JDK 安裝文件夾(在我的 systwm 上是: JAVA_HOME=C:\\Programme\\Java\\jdk-13.0.2 )。

我的第二個問題是在2.3.1版本中使用jaxws-maven-plugin 我在 pom.xml 中將其更改為2.3.3如下:

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.3.3</version>
</dependency>

更改后一切正常。

在我的情況下,將 JAVA_HOME 變量設置為正確的 JDK 解決了這個問題,它在 maven 安裝文檔https://maven.apache.org/install.html 中明確提到

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM