1. 前言
其实介绍Maven私服的资料已经很多了,《Maven权威指南》、许晓斌老师的Blog都详细介绍了常用私服——Nexus的功能,在此为何笔者还要写一下呢,一个是笔者写的是常用的功能,本身Maven这东西就是使用层次,若不是研究Maven内核、扩展Maven,大可不必细究源代码,有那时间,还不如看看Mina的源代码。这里只是说说笔者常用到的私服搭建、使用。二就是总结出来也好给健忘的自己留个备份。三就是确实私服是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视。Nexus是常用的私用Maven服务器,一般是公司内部使用。下载地址是http://nexus.sonatype.org/downloads/。笔者用的是nexus-oss-webapp-1.9.1.1-bundle版本,内部嵌入了Jetty。先安装、再启动。启动脚本在{nexus_HOME}\bin\jsw\windows-x86-32下面。Installnexus.bat是安装、Startnexus.bat是随机启动。默认是占用了您机器的8081端口。启动前请务必保证该端口未被占用。
2. 常用功能简介
Nexus常用功能就是:指定私服的中央地址、将自己的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。
开启Nexus服务后访问url地址http://127.0.0.1:8081/nexus,之后登录系统,用户名密码分别是:admin/admin123.
最频繁的就是点击左侧菜单栏的Repositories按钮
列出来的都是仓库,一般用到的仓库种类是hosted、proxy。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包。Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。笔者认为,其实Maven这个自带的默认仓库一般情况下已经够大多数项目使用了。特殊情况时在配置新的仓库,指定url即可,一般熟悉ExtJS的人操作这个Nexus都没什么问题,单词不是很难,不明白的查查单词基本差不多。就是如果Sonatype公司对其做了国际化的处理就更好了。
下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能,我们先选择一个proxy类型的代理仓库——Apache Snapshots之后将它的下载索引项设为true,确认保存即可
Download storage location设为true,保存后后台会运行一个任务,点击菜单栏的Scheduled Tasks选项即可看到有个任务在RUNNING。 下载完成后,Maven索引就可以使用了,在搜索栏输入要搜索的项,就可以查到相关的信息。比如搜索关键字Struts。
就可以检索出它的相关信息,包括怎么配置依赖信息。我们要想使用这个私服仓库,先在项目pom中配置相关私服信息
<repositories>
<repository>
<id>nexus</id>
<name>nexus</name>
<url>http://127.0.0.1:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>nexus</name>
<url>http://127.0.0.1:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
这样这个Maven项目构建的时候会从私服下载相关依赖。当然这个配置仅仅是在此项目中生效,对于其他项目还是不起作用。如果相对Maven的其他项目也生效的话。需要修改全局的settings.xml文件。
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://localhost:8081/nexus/content/groups/public</url>
</repository>
</repositories>
</profile>
<profile>
<id>nexus-snapshots</id>
<repositories>
<repository>
<id>nexus-snapshots</id>
<name>local private nexus snapshots</name>
<url>http://localhost:8081/nexus/content/groups/public-snapshots</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
<activeProfile>nexus-snapshots</activeProfile>
</activeProfiles>
之后所有本机的Maven项目就在私服下载组件。
假如我们下载了Oracle的驱动程序jar包想给其他项目组使用,就需要上传该jar包。选中宿主库——3rd party,之后选择Artifact Upload上传至宿主空间。
上传成功后,可以看到如下效果
自己开发的组件也可以通过以上方式上传。
3. 总结
这一次仅仅介绍了常用的私服功能,因为这方面资料太多了。所以就不赘述了。下面共享几个链接
http://www.iteye.com/topic/306449
http://lichunlong0630.iteye.com/blog/897198
http://lj-zhu.iteye.com/blog/961540
- 大小: 200.3 KB
- 大小: 98.9 KB
- 大小: 203.3 KB
- 大小: 45 KB
- 大小: 49.2 KB
分享到:
相关推荐
Maven3实战笔记(整合)
Maven3实战笔记 Maven3实战笔记 Maven3实战笔记 Maven3实战笔记
Maven3实战笔记04——Maven的生命周期和插件。
Maven3实战笔记07——继承的介绍。
maven maven私服 nexus 私服
nexus-2.10.0-02 maven-nexus本地私服
Maven Nexus 私服搭建 从零开始,资源下载、安装指导、开发配置说明
Maven3实战笔记(全) 从安装配置,到仓库依赖,到集成测试,到插件管理,到构建web 作者风趣幽默的介绍了maven3的使用 强烈推荐
Maven3实战笔记06——聚合的介绍。
Maven3实战笔记08——Maven反应堆。
课程目录: Maven3_01_maven概览 Maven3_02_maven安装的注意事项 Maven3_03_在eclipse中建立简单的项目 Maven3_04_maven的依赖特性 Maven3_05_maven的聚合和继承 Maven3_06_复习maven的基本...Maven3实战笔记 Maven配置
Maven3实战笔记10——使用Maven进行测试。
Maven3实战笔记——03Maven仓库。
maven 私服 nexus3 安装包,这个版本使用起来有些不方便,不知道是系统退步了,还是个人能力不济
maven私服nexus-2.14.8-01-bundle.tar.gz,优秀的maven私服软件,目前的阿里云maven镜像基于此修改搭建
Maven3实战笔记
maven 私服 nexus2 nexus3 安装与说明,只有简单的安装,没有详细的配置使用说明
该文档是关于配置maven私服nexus,对maven学习者有很大的帮助
Maven3实战笔记05——仓库依赖解析与插件解析。
maven私服 nexus-3.9.0-01-unix.tar.gz,nexus界面进行了改版,也和jfrog一样增加了对xnpm、pypi库的支持