2007-07-31
真正的maven私服搭建器--Artifactory
一个团队要真正用好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>your local artifactory</name>
<url>http://localhost:8081/artifactory/repo</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>artifactory</id>
<name>your local artifactory</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搭一个jar仓库吧,SpringSide就可以直接连上去下载jar了:)
评论
jerry_shen
2008-07-25
可以用www.findjar.com jar搜索引擎。
nasvel
2008-07-22
我们一直用proximity,刚才简单的看了看artifactory的文档,觉得tomcat集成方面好像比proximity容易,决定到公司去试一试,多谢。
maven proxy对共享公司内部公用库必不可少,不仅仅是带宽和速度的问题。
maven proxy对共享公司内部公用库必不可少,不仅仅是带宽和速度的问题。
xzcgeorge
2008-07-21
江南白衣 写道
Sam1860 写道
这个东西并不是想象中那么好用的,可能是由于他连服务器下载文件的机制做得不好,时不时出一些SocketTimeout,如果是在下plugins出现,本地maven就会cache这个错误,认为这个plugin是不存在的,当你执行需要这个plugin的goal时就会直接报错。
如果是局域网内的团队,用共享目录作local repositorty可能更加好用
如果是局域网内的团队,用共享目录作local repositorty可能更加好用
是的,你的server网速一定要够快,否则它在官网没下完之前,你就会SocketTimeout.
Do you have any solution for that?
Thanks.
江南白衣
2007-10-15
Sam1860 写道
这个东西并不是想象中那么好用的,可能是由于他连服务器下载文件的机制做得不好,时不时出一些SocketTimeout,如果是在下plugins出现,本地maven就会cache这个错误,认为这个plugin是不存在的,当你执行需要这个plugin的goal时就会直接报错。
如果是局域网内的团队,用共享目录作local repositorty可能更加好用
如果是局域网内的团队,用共享目录作local repositorty可能更加好用
是的,你的server网速一定要够快,否则它在官网没下完之前,你就会SocketTimeout.
Frank.Li
2007-10-15
怎样把maven repository中所有的文件都下载到本地呢?
oak2008
2007-09-20
我用的是netbeans IDE,感觉很好!maven有一段时间尝试去用,但还是不会用!
sunsy
2007-08-29
试用了一下,在下载包的时候问题很多,一早上也没有成功下载几个完整的包,把以前下载的REPO用IMPORT的方式导入也是不行,看来开始用它会比较痛苦一点。就是DEPLOY自己的一些包的时候觉得挺好用。而且在这个下面包不是以显式的方式存储在服务器上,只能通过管理界面来查看包情况还是觉得有些麻烦。
我现在的做法就是在服务器以日构建的形式跑,用TOMAT做个服务,CONTEXT的URL就指向那个M2的仓库,项目组的仓库就用内部服务器的,现在用起来还比较方便。
我现在的做法就是在服务器以日构建的形式跑,用TOMAT做个服务,CONTEXT的URL就指向那个M2的仓库,项目组的仓库就用内部服务器的,现在用起来还比较方便。
Sam1860
2007-08-24
这个东西并不是想象中那么好用的,可能是由于他连服务器下载文件的机制做得不好,时不时出一些SocketTimeout,如果是在下plugins出现,本地maven就会cache这个错误,认为这个plugin是不存在的,当你执行需要这个plugin的goal时就会直接报错。
如果是局域网内的团队,用共享目录作local repositorty可能更加好用
如果是局域网内的团队,用共享目录作local repositorty可能更加好用
Ivan Li
2007-08-24
mavan repos 里有的.sha1是干什么用的?
lordhong
2007-08-23
多谢兄弟, 非常好用!
maomaode
2007-08-08
没错,是这样的,我们的150G已经吃的差不多了,而且大部分是snapshot。
这样看来Artifactory 和maven_proxy比较类似。
这样看来Artifactory 和maven_proxy比较类似。
江南白衣
2007-08-07
mirror的话,会很费磁盘空间,而Artifactory只会下载你的项目组需要的jar,maven repo的大小天天剧增,大部分jar是自己用不到的,所以还是只cache自己团队要用的就好了。
maomaode
2007-08-07
我之前用maven-proxy, 后来直接用rsync, 来做maven mirror, 然后用apache httpd, 发现速度上确实是maven-proxy无法比拟的
netment
2007-08-05
你需要在eclipse中设置一个变量M2_REPO,让这个变量指向你本地所缓存jar包的目录,默认是~/.m2/repository
jomper
2007-08-03
请问使用eclipse maven plugin,如何设置 repository的路径?默认是my document/.m2/repository
monkeyhero
2007-08-03
xl515331 写道
我用 MyEclipse 没有安装任何maven 插件,感觉在 IDE 下直接执行 Spring-mock 的时候总出一些莫名其妙的错误.
不知道为啥
不知道为啥
你用mvn的命令行运行有错误么?mvn test
xl515331
2007-08-01
开始 不太习惯 maven 的管理方式 ,
现在已经 习惯了
就是还有 一些问题 想请教下
我用 MyEclipse 没有安装任何maven 插件,感觉在 IDE 下直接执行 Spring-mock 的时候总出一些莫名其妙的错误.
不知道为啥
现在已经 习惯了
就是还有 一些问题 想请教下
我用 MyEclipse 没有安装任何maven 插件,感觉在 IDE 下直接执行 Spring-mock 的时候总出一些莫名其妙的错误.
不知道为啥
acdc
2007-07-31
Maven官方有一个实现,就是archiva,也不错。
江南白衣
2007-07-31
galaxystar 写道
jar仓库或许还要提供版本管理, 多个项目组之间, 使用的jar包版本可能不一致.
版本管理是pom.xml的事情啊。jar仓库只管存放所有用到的版本。
galaxystar
2007-07-31
jar仓库或许还要提供版本管理, 多个项目组之间, 使用的jar包版本可能不一致.







评论排行榜