一个团队要真正用好Maven,repository私服是免不了的,否则team mate们多好奇的目光,都会全部消耗在漫长的jar下载中。
以前介绍过一个搭建私服的简朴但很笨的办法:将雷锋同志下载好的.m2/repository目录整个上传到任意的Web服务器中。其实世上多的是专业的maven私服搭建器,见TheServiceSide的文章--Setting Up a Maven Repository。
我用的是Artifactory,安装的时候觉得,Java的服务应用啥时候终于变得这么好用了,什么都不用装不用配,双击artifactory.bat,自己就会启动Jetty Web服务器与自带的存储系统,拆箱即用。
10分钟入门到开动
- 双击artifactory.bat,启动默认配置的Artifactory服务。
- http://localhost:8081/artifactory/,用admin/password登录进管理界面看看。
- 修改自己项目的pom.xml,增加私服定义
<repositories> <repository> <id>artifactory</id> <name>yourlocalartifactory</name> <url>http://localhost:8081/artifactory/repo</url> </repository> </repositories>
<pluginRepositories>
<pluginRepository>
<id>artifactory</id>
<name>yourlocalartifactory</name>
<url>http://localhost:8081/artifactory/plugins-releases</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
- 正常运行项目的maven命令,向artifactory索求jar。如果artifactory已经下载了就会直接返回给你,还没有的就会去那几个repo官方站下载。进入到artifactory的管理界面,不断刷新Browse the repository,会看到仓库不断丰富的情况。
进一步配置
- 官网服务器上还没有的一些jar,也可以通过管理界面很方便的deploy到Artifactory中。
- 如果你团队里的artifactory服务器不能直接连外网,需要使用HTTP代理服务器的话,见http://www.jfrog.org/sites/artifactory/latest/configuration.html 。
- 如果你团队里的artifactory服务器网速较慢,在remote-repo处可以配socketTimeoutMillis,默认是5000毫秒。
- artifactory默认了一些站点,如果需要更多,也可以修改配置文件文件。
最后
建议那些愿意为开源作实事的站点,在带宽充裕的服务器上,用Artifactory搭一个jar仓库吧,如www.redsaga.com。
<!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://wiki.springside.org.cn/display/calvin/Artifactory" dc:identifier="http://wiki.springside.org.cn/display/calvin/Artifactory" dc:title="Artifactory" trackback:ping="http://wiki.springside.org.cn/rpc/trackback/4120" /> </rdf:RDF> --><!-- Root decorator: all decisions about how a page is to be decorated via the inline decoration begins here. --><!-- Switch based upon the context. However, for now, just delegate to a decorator identified directly by the context. -->