簡體   English   中英

Maven 啟動 Quarkus 測試會導致 401 未經授權的錯誤,當引導程序嘗試從 Nexus 存儲庫獲取依賴項時

[英]Maven launch of Quarkus tests causes 401 unauthorized error when bootstrap attempts to get dependencies from Nexus repo

我剛剛設置了一個 Jenkins 管道來測試一個小型 Quarkus 應用程序。 My Jenkins 在具有企業 Nexus 存儲庫的基於 Kubernetes 的企業 CI/CD 環境中運行。 第一階段只是嘗試啟動 @QuarkusTests(在我的 IDE 中本地工作):

mvn clean test -Dquarkus.test.profile=xxx

一切似乎都構建正常,但是當 surefire 插件啟動 QuarkusTests 時,Quarkus 引導程序嘗試從 Nexus 存儲庫獲取依賴項並失敗並出現 HTTP 401 錯誤。

Caused by: org.apache.maven.model.resolution.UnresolvableModelException: Could not transfer artifact io.quarkus:quarkus-bom:pom:2.15.0.Final from/to shp.mirror (http://<***************>/): authentication failed for http://<***************>/io/quarkus/quarkus-bom/2.15.0.Final/quarkus-bom-2.15.0.Final.pom, status: 401 Unauthorized

在此階段之前,Maven 已從 Nexus 正確收集依賴項,沒有任何問題。

我檢查了 Jenkins 用戶是否能夠訪問失敗的依賴項。

我嘗試過的事情:

  • 在 surefire maven 配置中,我嘗試按照文檔中的建議從 Jenkins 環境傳遞 maven 配置設置(通過運行 mvn -X 收集的值)
        <configuration>
          <systemPropertyVariables>
            <maven.home>${maven.home}</maven.home> 
            <maven.repo.local>${settings.localRepository}</maven.repo.local> 
            <maven.settings>${session.request.userSettingsFile.path}</maven.settings> 
            <maven.top-level-basedir>${session.topLevelProject.basedir.absolutePath}</maven.top-level-basedir> 
            <quarkus.bootstrap.effective-model-builder>true</quarkus.bootstrap.effective-model-builder> 
          </systemPropertyVariables>
        </configuration>

  • 我還嘗試在默認設置位置(~/.m2/settings.xml 和 Jenkins 環境中使用的位置)之間創建鏈接
  • 在運行測試之前,我還嘗試了 mvn quarkus:go-offline,希望這會收集 Quarkus 引導程序所需的一切,但它似乎沒有任何區別

對於可能導致此錯誤的原因或如何收集 Quarkus 引導程序所需的所有依賴項的任何想法,我們將不勝感激。

謝謝

您是否按照https://maven.apache.org/guides/mini/guide-repository-ssl.html中的說明在MAVEN_OPTS中設置了java.net.ssl.*屬性? 如果是這樣,它們還需要傳播到 surefire 插件。

暫無
暫無

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

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