使用Nexus2搭建企业maven仓库(三)

如果我所在的项目没有使用maven,我应该作出一个选择,要不换一个项目,要不促使这个项目使用起maven。有人会问,为什么要用maven?不用maven不也很好的运作吗。这里,只说两点我体会最深的:第一点是管理jar包。这个包含很多含义,比如下载jar包,通过仓库,你只需要输入包名和版本号,立即就可以下载到你本机,而不需要到官网或google上找,如果下载速度慢,随时可以更改仓库地址。另外,项目中jar版本混乱也是常见的,有些隐藏的问题就是由于jar版本引起,并且很难发现。还有,一个项目中n多jar包,但谁也说不清他们之间的依赖关系,maven可以,等等。第二点是可以让你的技术习惯没这么脱节。

前两篇文章分别说了如何下载、安装和启动maven,以及一些注意事项和报错处理,这篇主要说配置。

打开nexus控制台:

这2.5.1版本的界面,其实maven1和maven2的界面都大同小异,maven2增加了一些选项而已。

选择From POM,上传pom文件(我的包已通过mvn archetype:create -DgroupId=com.ainfo.bs -DartifactId=acctmanm -DpackageName=com.kage -Dversion=1.0创建,所以有pom文件,如果没有,填GAV参数也可)。然后上传jar包,上传后记得点击add再upload,我有几个包就是忘记了,搞得后面查了很久。如果忘了,是可以补传的,补传的时候它认为是update,update需要确保deployment policy选项是allow
redeploy。

上传完后,主机上应该就可以看到这些文件了:

通过更新index(有时候不更新也可以),可以看到新的包:

接着,修改maven的配置文件setting.xml,指向这台nexus主机:

<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<profile>
<id>dev</id>
<repositories>
<repository>
<id>local-nexus</id>
<url>
http://30.51.23.250:8081/nexus/content/groups/public/
</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>local-nexus</id>
<url>
http://30.51.23.250:8081/nexus/content/groups/public/
</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>

也可以修改pom.xml,由于我希望我的项目在svn上被团队成员(流动性大)下载就自动指向这台主机,所以我需要配置在pom.xml中。

最后,还有最重要的一步(很网上文章都没提及),就是修改MyEclipse中配置(默认的路径,根本就不存在setting文件):

修改为真正所在的路径:

然后update project就会更新了:

更新后,你本机的maven仓库会下载这个包。如果出现没有下载jar包,只有一个update文件,比如 tapestry-3.0.4.pom.lastUpdated ,那有几种原因,

1、你配置的仓库地址不对,检查你的setting.xml(如果你配置在pom。xml就检查pom.xml)

2、你上传的jar不对,到nexus主机检查jar是否真的上传了

3、你上传了jar,但是没有update index,按照我前面说的update一下

4、你刚刚已经更新过了,所以不会自动更新,这种情况到你的本地仓库把这个包的文件夹删掉即可(或者只删lastupdated应该也行)

下载自己上传的jar没问题,下载其他的呢?也可以测试一下。

比如下载jfree这个jar,在pom里配置好,就会自动下载:

到nexus机器上看下载前与下载后:

其实控制台全部的库都在主机上,MyHostedRepo是我自己建的,其余默认就有。像setting里配置的就是图中的public:

版本:nexus2.5.1(tgz版) maven3.2.3

2014.11.6

时间: 2024-11-05 08:41:18

使用Nexus2搭建企业maven仓库(三)的相关文章

使用Nexus搭建企业maven仓库(二)

先阅读<使用Nexus搭建企业maven仓库(一)> http://blog.csdn.net/ouyida3/article/details/40747545 1.官网目前最新的版本是2.10.0,从2.6开始就要求jdk7以上,否则报错: Unsupported major.minor version 51.0 (51.0是jdk1.7,,50.0是1.6,49是1,5,48是1.4) 2.如果机器不方便安装jdk1.7,下载2.5版本即可,下载地址: http://www.sonatyp

利用github搭建私人maven仓库

一.背景 最近在做HBase的项目,不免会引用到一些工具类,如StringUtils,NumberUtils,DateUtils这些,公司底层有封装好可以直接使用. 但是项目完成,用maven打包部署的时候,由于公司底层集成了太多jar包,可能会导致冲突,使打完的jar包无法用java -jar 运行,报错是 Error: Invalid or corrupt jarfile realTimeImport-1.0-SNAPSHOT.jar 暂时定位是引用了太多jar包引起的,但其实我可能就只需要

N使用exus2打造企业maven仓库(三)

假设项目中,我没有使用maven,我应该做出选择,或为项目.或者用它来推动这个项目从maven.有人会问,为什么maven?无需maven我们没有很好的操作. 这里,只说两件事情我最欣赏:第一点是管理jar包.这包括太多的意义,比如下载jar包,由仓库,你仅仅须要输入包名和版本号号,马上就能够下载到你本机,而不须要到官网或google上找,假设下载速度慢,随时能够更改仓库地址. 另外.项目中jar版本号混乱也是常见的.有些隐藏的问题就是因为jar版本号引起.而且非常难发现. 还有.一个项目中n多

利用github搭建个人maven仓库

缘起 之前看到有开源项目用了github来做maven仓库,寻思自己也做一个.研究了下,记录下. 简单来说,共有三步: deploy到本地目录 把本地目录提交到gtihub上 配置github地址为仓库地址 配置local file maven仓库 deploy到本地 maven可以通过http, ftp, ssh等deploy到远程服务器,也可以deploy到本地文件系统里.例如: <distributionManagement> <repository> <id>h

搭建局域网maven仓库

第一步: 下载Nexus http://nexus.sonatype.org/downloads/下载最新版本 解压缩到任意目录,我的直接解压到了E盘---------->E:\nexus-2.9.0-04 Nexus安装目录总有一个兄弟目录,名为“sonatype-work”.这个目录包含有所有资源库和Nexus的配置信息. 第二步:运行服务器 进入到以下目录位置: E:\nexus-2.9.0-04\bin\jsw 选择对应的系统,我的win8系统需要以管理员身份运行1.install-ne

OpenStack搭建企业私有云 三:计算服务(持续更新...)

计算服务概览 使用OpenStack计算服务来托管和管理云计算系统.OpenStack计算服务是基础设施即服务(Iaas)系统的主要部分,模块主要由python实现.OpenStack计算组件请求OpenStack Identity服务进行认证:请求OpenStack Image服务提供磁盘镜像:为OpenStack dashboard提供用户与管理员接口.磁盘镜像访问限制在项目与用户上:配额以每个项目进行设定(例如,每个项目下可以创建多少实例).OpenStack组件可以在标准硬件上水平大规模

[Gradle系列]Gradle发布module库到jcenter, 并构建自己的企业Maven私服

Tamic 作者: http://blog.csdn.net/sk719887916 前言 andorid开发者经常会看到xx公司发布了xx项目,xx公司只提供了gradle配置路径我们就能轻松的使用它们的项目到自己的工程中: 譬如: 谷歌自身的库 compile 'com.android.support:appcompat-v7:22.2.0' 第三方库 compile 'com.squareup.okhttp:okhttp:2.7.2' 很多开发者看过之后羡慕不已, 想自己能不能也写一个自己

Gradle实战:发布aar包到maven仓库

查看原文:http://blog.csdn.net/u010818425/article/details/52441711 Gradle实战系列文章: <Gradle基本知识点与常用配置> <Gradle实战:Android多渠道打包方案汇总> <Gradle实战:不同编译类型的包同设备共存> <Gradle实战:执行sql操作hive数据库> aar简介 aar文件是Google为Android开发所设计的一种library格式,全名为Android Ar

Maven 仓库、坐标、常用命令

maven中的仓库 需要jar包时,先到本地仓库中找,没有就从中央仓库去下载到本地仓库. 中央仓库很多都在国外,下载速度慢.国内的一些公司在自己的服务器上搭建了maven仓库(中央仓库的镜像),供内部人员使用,因为在公司私有的服务器上,所以又叫做私服. 有的公司把自己的maven分享出来,免费供开发者使用,比如阿里云的maven仓库. 如果使用了私服,需要jar包时,先到本地仓库中去找,找不到再去私服上找,如果私服上没有,就从中央仓库下载到私服,再从私服下载到本地仓库. Maven中的坐标 Ma