2010-06-23 13 views
7

Ho una dipendenza su Hibernate 3.5.3 che è disponibile solo per me dal nuovo JBoss Maven repository è ospitato su Sonatype 's Nexus e tutti gli URL sono protetti con HTTPS.Come posso utilizzare il nuovo repository JBoss Maven da dietro un firewall aziendale?

Posso accedere a questo repository da dietro il firewall aziendale tramite il browser web. Ma Maven non è in grado di risolvere gli artefatti.

vedo il seguente avviso all'inizio del costruire:

[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 

mi aspettavo che l'aggiunta delle seguenti la sezione del settings.xml globale avrebbe dovuto fare il trucco per me:

<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> 

Ma non funziona per me.

Nel mio pom.xml ho il seguente dipendenze repository dichiarato:

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

sono costretto ad usare Maven 2.0.8 ma ho controllato e non funziona su Maven 2.2.1 sia.

+0

Quale versione di Maven stai usando? Puoi anche eseguire 'mvn -X' per ottenere il vero errore? –

+0

@Pascal - Sono qui nel Medioevo. Devo usare Maven 2.0.8! –

+0

Fintanto che non è Maven 2.0.4. Ma l'esecuzione con -X sarebbe molto utile per capire la causa principale del problema. A proposito, non penso che sia necessario un secondo elemento proxy, il 'protocollo' è usato per configurare il proxy, non il protocollo usato da un host remoto. –

risposta

1

Questo è stato risolto nelle versioni più recenti Maven (a partire 3.0-alpha qualcosa, non ricordo il numero esatto #). Funziona in 3.0.3-SNAPSHOT

-1

Ehi, Mathews, stavo solo cercando di colpire l'URL del repository Jboss che avevi postato qui usando un browser e mi ha lanciato una pagina bianca. Un po 'di googling per il repository di jboss mi ha dato questo URL.

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

Credo che questo dovrebbe risolvere il problema. È solo una questione di URL di repository sbagliato.

Per aggiungere ulteriore, il repository ha la versione di core hibernate 3.5.1 e non la 3.5.3. Questo non dovrebbe essere un problema per voi.

+0

L'URL del repository non è errato, [JBoss ora sta usando Nexus] (http://relation.to/Bloggers/JBossMavenRepositoryChanges), Hibernate 3.5.3 non è disponibile nel "vecchio" repository. –

+1

JBoss ha deprecato quel vecchio URL del repository e non pubblicherà le versioni nel vecchio repository. Mi affido molto ai componenti di JBoss sul mio attuale progetto, quindi Hibernate è solo una delle istanze del problema. –

1

Sarà davvero il risultato di ciò che la vostra azienda ha fatto per impostare il firewall. Se il firewall richiede l'autenticazione NTLMv2 allora Maven non lo farà da solo (dovrebbe funzionare presto, ma ho provato l'Alpha v3 senza fortuna).

Mentre non può essere la soluzione ideale che stai cercando, ho trovato che il caso migliore per questo genere di cose è quello di installare CNTLM e un proxy repository locale all'interno del firewall (come Sonatype Nexus, Jfrog's Artifactory o Apache Archiva.

CNTLM soli lavori semplici (TM). Ci sono voluti circa 15 minuti per installare e giocare con e non ho dovuto pensarci da allora.

ho usato Artifactory e Nexus e sono entrambi paragonabile, ho letto che Artifactory è precaricato con la maggior parte dei popolari siti Maven, quindi non dovresti giocherellare così tanto. sicuramente ha dovuto aggiungere diversi repository di terze parti a Nexus). È possibile ottenere un buon confronto di loro here.

Un ulteriore vantaggio di questa soluzione è che le tue build dovrebbero essere notevolmente più veloci (e il tuo team ti ringrazierà).

+0

Abbiamo un repository interno ma non ho diritti di amministrazione. Ci sono voluti 5 giorni per aggiungere JBoss per me! Quindi ho bisogno della soluzione per la prossima volta che colpirò questa barriera. Il problema NTLM sembra essere il mio problema. Lo esaminerò ulteriormente. –

0

Se NTLM è il problema e Se si utilizza Eclipse per il progetto, è possibile provare a avviare Eclipse con i seguenti parametri. L'ho provato una volta quando ho avuto problemi di accesso ai siti di aggiornamento di Eclipse a causa del nostro proxy.

-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 

Fonte: http://wiki.eclipse.org/ECF_Filetransfer_Support_for_NTLMv2_Proxies

Problemi correlati