簡體   English   中英

如何在企業防火牆后面使用新的JBoss Maven存儲庫?

[英]How do I use the new JBoss Maven repository from behind a corporate firewall?

我依賴於Hibernate 3.5.3,只有新的JBoss Maven存儲庫可以在SonatypeNexus上托管,並且所有URL都使用HTTPS保護。

我可以通過Web瀏覽器從公司防火牆后面訪問此存儲庫。 但是Maven無法解決這些文物。

我在構建開始時看到以下警告:

[WARNING] Unable to get resource 'org.hibernate:hibernate-core:pom:3.5.3-Final' from repository jboss.org (https://repository.jboss.org/nexus/content/repositories/releases): Error transferring file: repository.jboss.org

我希望在全局settings.xml的部分添加以下內容應該對我有用:

<proxy>
    <id>http.proxy</id>
    <active>true</active>
    <protocol>http</protocol>
    <username>me</username>
    <password>private</password>
    <host>proxy.somecompany.com</password>
    <port>80</port>
    <nonProxyHosts>*.somecompany.com</nonProxyHosts>
 </proxy>
<proxy>
    <id>https.proxy</id>
    <active>true</active>
    <protocol>https</protocol>
    <username>me</username>
    <password>private</password>
    <host>proxy.somecompany.com</password>
    <port>80</port> <!-- tried 443 too -->
    <nonProxyHosts>*.somecompany.com</nonProxyHosts>
 </proxy>

但它對我不起作用。

在我的pom.xml中,我聲明了以下存儲庫依賴項:

 <repository>
     <id>jboss.org</id>
     <name>JBoss Repository</name>
     <url>https://repository.jboss.org/nexus/content/repositories/releases</url>
 </repository>

我被限制使用Maven 2.0.8,但我已經檢查過,它也無法在Maven 2.2.1上運行。

這將真正歸結為貴公司為設置防火牆所做的工作。 如果防火牆需要NTLMv2身份驗證,那么Maven將不會單獨執行此操作(它應該很快就會工作,但我嘗試使用v3 alpha而沒有任何運氣)。

雖然它可能不是您正在尋找的理想解決方案,但我發現這種情況的最佳情況是在防火牆內安裝CNTLM和本地存儲庫代理(例如Sonatype NexusJfrog的ArtifactoryApache Archiva

CNTLM只是普通作品(TM)。 安裝和玩游戲花了大約15分鍾,我從此沒有考慮過。

我使用過Artifactory和Nexus,它們都很可比。 我已經讀過Artifactory預裝了大多數流行的Maven網站,所以你可能不必像它那樣擺弄它。 (我肯定不得不為Nexus增加幾個第三方回購)。 你可以在這里對它們進行很好的比較。

此解決方案的另一個好處是您的構建應該明顯更快(並且您的團隊會感謝您)。

這是在最近的Maven版本中修復的(從3.0-alpha開始,不記得確切的問題#)。 適用於3.0.3-SNAPSHOT

如果NTLM是問題,如果您正在為項目使用Eclipse,那么您可以嘗試使用以下參數啟動Eclipse。 由於我們的代理,我在訪問eclipse更新站點時遇到了問題,因此我嘗試了一次。

-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient  
-Dhttp.proxyPort=8080  
-Dhttp.proxyHost=<Proxy Host Name>  
-Dhttp.proxyUser=<>  
-Dhttp.proxyPassword=<>  
-Dhttp.nonProxyHosts=localhost  

資料來源: http//wiki.eclipse.org/ECF_Filetransfer_Support_for_NTLMv2_Proxies

嘿Mathews,我只是試圖使用瀏覽器點擊你在這里發布的Jboss存儲庫URL,它給我一個空白頁面。 jboss存儲庫的一些谷歌搜索給了我這個網址。

http://repository.jboss.org/maven2/

我想這應該可以解決你的問題。 它只是一個錯誤的存儲庫URL問題。

為了進一步增加,存儲庫具有hibernate核心版本3.5.1而不是3.5.3。對於您來說,這不應該是一個問題。

暫無
暫無

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

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