我依赖于Hibernate 3.5.3,只有我JBoss Maven repository Sonatype托管的Nexus才能使用,所有网址都是使用HTTPS保护。
我可以通过网络浏览器从公司防火墙后面访问此存储库。但是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上运行。
答案 0 :(得分:1)
这将真正归结为贵公司为设置防火墙所做的工作。如果防火墙需要NTLMv2身份验证,那么Maven将不会单独执行此操作(它应该很快就会工作,但我尝试使用v3 alpha而没有任何运气)。
虽然它可能不是您正在寻找的理想解决方案,但我发现此类事情的最佳情况是在防火墙内安装CNTLM和本地存储库代理(例如{{3} },Sonatype Nexus或Jfrog's Artifactory。
CNTLM just plain works(TM)。安装和玩游戏花了大约15分钟,我从此不必考虑它。
我使用过Artifactory和Nexus,它们都非常具有可比性。我已经读过Artifactory预装了大多数流行的Maven网站,所以你可能不必像它那样摆弄它。 (我肯定不得不为Nexus增加几个第三方回购)。你可以很好地比较它们Apache Archiva。
此解决方案的另一个好处是您的构建应该明显更快(并且您的团队会感谢您)。
答案 1 :(得分:1)
这是在最近的Maven版本中修复的(从3.0-alpha开始,不记得确切的问题#)。适用于3.0.3-SNAPSHOT
答案 2 :(得分:0)
如果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
答案 3 :(得分:-1)
嘿Mathews,我只是试图点击你在这里使用浏览器发布的Jboss存储库URL,它给我一个空白页面。 jboss存储库的一些谷歌搜索给了我这个网址。
http://repository.jboss.org/maven2/
我想这应该可以解决你的问题。它只是存储库URL错误的问题。
为了进一步增加,存储库具有hibernate核心版本3.5.1而不是3.5.3。这对你来说不应该是一个问题。