項目改用maven和artifactory做jar包管理,artifactory相當于公網maven repo的cache或者說鏡像的作用,內網的developer都會連接到artifactory去download jar包,如果artifactory沒有這些jar包,artifactory會自動去外網下載。
但是經過多次測試,發現artifactory1.2.5使用的commons-httpclient-3.1.1不支持ntlm2協議,而現在很多都使用ntlm2進行身份認證來代理上網。所以我們用的artifactory一直連不出去download。在網上search了一下,發現有人解決了這個問題,并提供了patch的下載,太感謝他了。
http://issues.apache.org/jira/browse/HTTPCLIENT-579
下載后重新打jar commons-httpclient-3.1.1,actifacotry.war放于的web-inf下,并重新打war actifacotry.war。
執行
mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.mycompany.app -DartifactId=my-app
artifactory.log中的結果:
2008-03-20 11:58:53,315 [INFO ] (AuthChallengeProcessor.java:101{10}) - ntlm authentication scheme selected
2008-03-20 11:58:54,477 [INFO ] (HttpRepo.java:128{10}) - third_party: Retrieving 'http://repo1.maven.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom'...
Pass了,可以享受maven,artifactory帶來的構建項目的快樂了。