`
suhuanzheng7784877
  • 浏览: 704381 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47751
社区版块
存档分类
最新评论

Maven3实战笔记09Maven的私服-Nexus常用功能

阅读更多

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按钮

 列出来的都是仓库,一般用到的仓库种类是hostedproxyHosted代表宿主仓库,用来发布一些第三方不允许的组件,比如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
6
1
分享到:
评论
3 楼 xisuchi 2013-07-18  
可否将上面的url配置在<mirror>中 二者有啥区别
2 楼 youjianbo_han_87 2012-12-07  
youjianbo_han_87 写道
Download storage location设为true

这个选项没有找到啊

还有个问题,这个选项没有找到。我就在 Scheduled Tasks 里面自己建了一个任务,run。但是很快就完成了,结果那一列显示 OK[0s] 啥也没下下来啊。
1 楼 youjianbo_han_87 2012-12-07  
Download storage location设为true

这个选项没有找到啊

相关推荐

    maven私服nexus-2.11.4-01.rar

    《全面解析:使用Nexus搭建Maven私服》 在软件开发过程中,Maven作为一个强大的构建工具,极大地简化了项目的管理。然而,随着项目的发展,依赖库的数量会不断增多,这时,本地Maven仓库可能无法满足需求,这时就...

    Maven高级-黑马程序员学习笔记

    **Maven私服(Nexus/Artifactory)**: 在企业环境中,出于安全和效率考虑,通常会建立私有的Maven仓库,称为“私服”。它可以存储公司内部的库、第三方依赖的镜像,以及发布的项目构件。 1. **安装依赖到私服**:...

    web27_maven基础-课堂笔记.md

    #### 三、Maven 常用命令 1. **打包命令** - **mvn clean package**:清理项目,并进行打包。 - **mvn clean install**:清理项目,打包并安装到本地仓库。 2. **构建命令** - **mvn compile**:编译源代码。 ...

    maven window下安装包

    第9章:使用Nexus创建私服/9.6 部署构件到Nexus/9.6.1 使用Maven部署构件到Nexus 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.1 Nexus的访问控制模型 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为...

    Maven笔记.doc

    由 Maven 自己维护,里面有大量的常用类库,并包含世界上大部分流行的开源项目构件,目前以 Java 为主。 2.内部中心仓库: a. 也叫私有共享仓库(私服),一般由公司自己设立,只为本公司内部共享使用。 b. 既...

    《Maven in Action》读书笔记(最全版,DIY)

    ### Maven in Action 读书笔记知识点概述 #### 1. Maven简介 - **Maven作为构建工具的优势**:Maven的设计理念在于最小化构建过程中的重复性工作,它通过抽象出通用的构建生命周期,并为常见的构建任务提供现成的...

    经典JavaEE5规范学习笔记

    - Maven私服Nexus:搭建私有的仓库服务器,方便项目依赖的管理。 - Maven集成Hudson:与Hudson结合实现持续集成的环境配置。 - MavenProfile定制化构建:为不同的环境提供定制化的构建配置。 - 编写Maven插件:扩展...

    尚硅谷学习笔记+代码,Maven 教程

    尚硅谷学习笔记+代码,Maven 教程 Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具 1、构建 Java 项目开发过程中,构建指的是使用 『原材料生产产品』 的过程。 原材料 Java...

    Maven学习精华教程-电子书

    此文件为exe格式电子书,无需安装任何阅读软件就可以打开,由mybase笔记软件生成。 此电子书详细介绍了项目自动化构建工具Maven的使用,内容清晰简洁明了,易于阅读、理解! ...仓库_私服_Nexus

    IDEA开发工具+Maven使用详解视频课程(适合初学者的教程)

    本课程从IDEA开发工具的安装及配置使用讲起,详细讲解Maven项目管理工具,适合初学者的教程,让你少走弯路!...使用Nexus搭建私服6.Maven综合实战应用教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!

Global site tag (gtag.js) - Google Analytics