`
江南白衣
  • 浏览: 544395 次
  • 来自: 广州
社区版块
存档分类
最新评论

真正的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了:)

分享到:
评论
21 楼 jerry_shen 2008-07-25  
可以用www.findjar.com jar搜索引擎。
20 楼 nasvel 2008-07-22  
我们一直用proximity,刚才简单的看了看artifactory的文档,觉得tomcat集成方面好像比proximity容易,决定到公司去试一试,多谢。

maven proxy对共享公司内部公用库必不可少,不仅仅是带宽和速度的问题。
19 楼 江南白衣 2007-10-15  
Sam1860 写道
这个东西并不是想象中那么好用的,可能是由于他连服务器下载文件的机制做得不好,时不时出一些SocketTimeout,如果是在下plugins出现,本地maven就会cache这个错误,认为这个plugin是不存在的,当你执行需要这个plugin的goal时就会直接报错。
如果是局域网内的团队,用共享目录作local repositorty可能更加好用


是的,你的server网速一定要够快,否则它在官网没下完之前,你就会SocketTimeout.
18 楼 Frank.Li 2007-10-15  
怎样把maven repository中所有的文件都下载到本地呢?
17 楼 oak2008 2007-09-20  
我用的是netbeans IDE,感觉很好!maven有一段时间尝试去用,但还是不会用!
16 楼 sunsy 2007-08-29  
  试用了一下,在下载包的时候问题很多,一早上也没有成功下载几个完整的包,把以前下载的REPO用IMPORT的方式导入也是不行,看来开始用它会比较痛苦一点。就是DEPLOY自己的一些包的时候觉得挺好用。而且在这个下面包不是以显式的方式存储在服务器上,只能通过管理界面来查看包情况还是觉得有些麻烦。
  我现在的做法就是在服务器以日构建的形式跑,用TOMAT做个服务,CONTEXT的URL就指向那个M2的仓库,项目组的仓库就用内部服务器的,现在用起来还比较方便。
15 楼 Sam1860 2007-08-24  
这个东西并不是想象中那么好用的,可能是由于他连服务器下载文件的机制做得不好,时不时出一些SocketTimeout,如果是在下plugins出现,本地maven就会cache这个错误,认为这个plugin是不存在的,当你执行需要这个plugin的goal时就会直接报错。
如果是局域网内的团队,用共享目录作local repositorty可能更加好用
14 楼 IvanLi 2007-08-24  
mavan repos 里有的.sha1是干什么用的?
13 楼 lordhong 2007-08-23  
多谢兄弟, 非常好用!
12 楼 maomaode 2007-08-08  
没错,是这样的,我们的150G已经吃的差不多了,而且大部分是snapshot。

这样看来Artifactory 和maven_proxy比较类似。
11 楼 江南白衣 2007-08-07  
mirror的话,会很费磁盘空间,而Artifactory只会下载你的项目组需要的jar,maven repo的大小天天剧增,大部分jar是自己用不到的,所以还是只cache自己团队要用的就好了。
10 楼 maomaode 2007-08-07  
我之前用maven-proxy, 后来直接用rsync, 来做maven mirror, 然后用apache httpd, 发现速度上确实是maven-proxy无法比拟的
9 楼 netment 2007-08-05  
你需要在eclipse中设置一个变量M2_REPO,让这个变量指向你本地所缓存jar包的目录,默认是~/.m2/repository
8 楼 camelwoo 2007-08-03  
怎么以前没找到呢
7 楼 jomper 2007-08-03  
请问使用eclipse maven plugin,如何设置 repository的路径?默认是my document/.m2/repository
6 楼 monkeyhero 2007-08-03  
xl515331 写道
我用 MyEclipse 没有安装任何maven 插件,感觉在 IDE 下直接执行 Spring-mock 的时候总出一些莫名其妙的错误.
不知道为啥

你用mvn的命令行运行有错误么?mvn test
5 楼 lsqlister 2007-08-01  
感谢啊,我公司不能直接连外网,需要Http代理,
现在终于可以下载jar文件了.
4 楼 xl515331 2007-08-01  
开始 不太习惯 maven 的管理方式 ,
现在已经 习惯了
就是还有  一些问题 想请教下
我用 MyEclipse 没有安装任何maven 插件,感觉在 IDE 下直接执行 Spring-mock 的时候总出一些莫名其妙的错误.
不知道为啥
3 楼 acdc 2007-07-31  
Maven官方有一个实现,就是archiva,也不错。
2 楼 江南白衣 2007-07-31  
galaxystar 写道
jar仓库或许还要提供版本管理, 多个项目组之间, 使用的jar包版本可能不一致.


版本管理是pom.xml的事情啊。jar仓库只管存放所有用到的版本。

相关推荐

Global site tag (gtag.js) - Google Analytics