Maven学习 (四) 使用Nexus搭建Maven私服

Maven学习 (四) 使用Nexus搭建Maven私服

为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库。

1.首先确定我们的环境安装好maven,jdk等必须的环境

2.这些都准备好之后,去下载最新版本的nexus    下载地址:http://www.sonatype.org/nexus/go 

    我本地安装的是 nexus-2.2-01-bundle,最新的版本是nexus-2.4.0-09-bundle

3.打开目录nexus-2.4.0-09-bundle\nexus-2.4.0-09\bin\jsw 这个目录下面你会发现有很多系统版本的nexus环境

   我的电脑是win7 (64)为的系统,所以我选择的是windows-x86-64这个版本,当然可以根据个人的电脑系统选择对应的版本

 

打开一个版本你会看到如下:

 

我一般都是将nexus安装成windows服务,所以点击install-nexus.bat这个,访问http://localhost:8081/nexus/ 启动后如下页面,在右上角有个Log in 的超链接,点击登录

默认的用户名是 admin 密码是 admin123

 登录后你可以在左侧修改登录信息:

 

4.接下来,我们配置一下maven的代理服务器(前提是你的电脑不能连接外网,如果可以上外网,这里也没有意思,只是介绍一下)

   在左侧菜单找到如图:

   

  点击查看右边有很多选项,找到这里

添加你的代理服务器就可以了。

 5:接下来,好像这里都不需要怎么配置的,反正我没有用到很多的功能,可能是技术学得不好,不会用,呵呵….

     对了,这里还有一个可能需要注意一下的,就是3rd party、Snapshots、Releases这三个,分别用来保存第三方jar(典型的oracle数据库的j驱动包),项目组内部的快照、项目组内部的发布版.

     我目前只是用3rd party这个第三方的功能,将maven仓库中没有构件的jar包上传到服务器。如何将第三方的jar上传到nexus上面呢?如下:举例上传oracle的驱动包

    

 

 

 

那么现在nexus已经安装好,怎么使用上传的jar包吧,很简单的,前提是你已经建立了一个maven的项目。含有pom.xml这个文件,在这个文件中添加如下:

先去服务器看看jar的maven构件

然后在pom.xml中添加如下的本地仓库地址:

 1     <repositories>
 2         <repository>
 3             <id>nexus</id>
 4             <name>Team Nexus Repository</name>
 5             <url>http://localhost:8081/nexus/content/groups/public</url>
 6         </repository>
 7     </repositories>
 8     <pluginRepositories>
 9         <pluginRepository>
10             <id>nexus</id>
11             <name>Team Nexus Repository</name>
12             <url>http://localhost:8081/nexus/content/groups/public</url>
13         </pluginRepository>
14     </pluginRepositories>
15     <dependencies>
16         <dependency>
17             <groupId>com.oracle</groupId>
18             <artifactId>ojdbc</artifactId>
19             <version>10.1.0.2.0</version>
20         </dependency>
21     </dependencies>

 

到此,完成了nexus私服的搭建,项目组开发人员开发时,只要在项目的pom.xml文件中,添加如下pom.xml信息即可获取私服的jar.

如果添加其他的构件时,会先在nexus私服下载好,以后才会下载到本地。以后,如果发现私服已经存在某一jar包,则会直接从私服下载,如果没有再去网络上下载。这就是搭建私服的好处。哈哈……..

所以很有必要搭建maven私服。

 

 

 

 

 

—————————————————————————————————————————————–

 

 

 

 

 

自己补充的内容 begin

1、下载nexus,地址:http://www.sonatype.org/nexus/go

2、下载完之后就是这个了:文件nexus-2.14.2-01-bundle.tar.gz 我这个是目前最新的版本了,下载完之后就可以它传到Linux中了,可以先在linux中创建一个目录nexus

1
2
3
4
# mkdir nexus
# cd nexus
# rz 上传文件
# tar -xzvf nexus-2.14.2-01-bundle.tar.gz

解压之后就会看到两个目录:
nexus-2.14.2-01
sonatype-work

nexus-2.14.2-01:里面是nexus的运行环境和应用程序

sonatype-work:里面是我们后面要对nexus进行一些配置的地方,像索引和起始的仓库和端口等都可以在这里面配置。

3、启动nexus

# cd nexus-2.14.2-01/bin
    # ls
    jsw  nexus  nexus.bat
    # ./nexusUsage: ./nexus { console | start | stop | restart | status | dump }
    # ./nexus start
    ****************************************
    WARNING – NOT RECOMMENDED TO RUN AS ROOT
    ****************************************
    If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script.
    启动不了,提示这个。
    大概意思就是要在环境配置export RUN_AS_USER=root,临时配置
    在命令行下输入:
    export RUN_AS_USER=root
    然后执行,就不会再提示了
    ./nexus start

    也可以在系统里面永久配置
    vim /etc/profile  加入export RUN_AS_USER=root

   启动成功:

# ./nexus start
    Starting Nexus OSS...
    Started Nexus OSS.
    # ./nexus console
    Running Nexus OSS...Nexus OSS is already running.

查看日志:

# tail -f ../logs/wrapper.log

3、页面访问:http://youhostname:8081/nexus

看到如下页面:


注意:nexus的默认端口是8081,后面可以修改

用默认账户和密码登录

账户:admin

密码:admin123

登录之后


3rd party、Snapshots、Releases这三个,分别用来保存第三方jar、项目组内部的快照、项目组内部的发布版.

配置中央仓库自动更新索引:


4、将第三方jar上传到nexus


上传之后搜索……


这样基本maven私服就搭建完成了,并且上传了自己的jar包。

私服Nexus搭建完毕之后,由于网络原因,有时候会出现索引更新不了的问题,这里给出一种离线更新索引的方式。

因为此时maven私服里面是没有索引和其他jar包的,所以要把自己的索引和平时用的maven仓库上传到nexus的指定位置覆盖原来的索引和仓库.

进入到sonatype-work/nexus/indexer目录中,这里面就是上面说的可以自己修改和配置的地方。

1
2
# cd sonatype-work/nexus/indexer 
# ls

#cd sonatype-work/nexus/storage/

# ls

把自己的的索引和maven仓库上传到对应位置重新启动nexus就可以了

# ./nexus restart

===========================================================

如果手上没有索引,按照步骤找到所需要的索引:

第一步:下载索引文件

nexus-maven-repository-index.gz

nexus-maven-repository-index.properties

下载地址:

http://repo.maven.apache.org/maven2/.index/ 


第二步:下载解压工具

下面就是解压这个索引文件,虽然后缀名为gz,但解压方式却比较特别,我们需要在GitHub下载Apache的一个indexer-cli jar包 {[indexer-cli](https://github.com/apache/maven-indexer)}【需要自己打包获得jar,或者到网上下载jar】: [indexer-cli-5.1.1.jar](https://repo.maven.apache.org/maven2/org/apache/maven/indexer/indexer-cli/5.1.1/ “indexer-cli-5.1.1.jar”) ,我们需要通过这个特殊的jar来解压这个索引文件
注:indexer-cli-5.1.1.jar是专门用来解析和发布索引的工具。

第四步、命令解压

将上面三个文件(.gz & .properties & .jar)放置到同一目录下,例如我放置在了/usr/local/software/nexus-software文件夹下面。 运行命令如下:

a、定位到 /usr/local/nexus-software  

cd /usr/local/software/nexus-software

b、执行解压命令  

java -jar indexer-cli-5.1.1.jar -u nexus-maven-repository-index.gz -d indexer

之后,会在/usr/local/nexus-software自动生成一个 indexer文件夹,大概十几分钟吧,命令执行完毕,indexer文件大小会 达到700M多点,然后indexer内的文件拷贝到私服{nexus-home}/sonatype-work/nexus/indexer/central-ctx目录下,重新启动nexus,索引更新完毕!
cp -rf indexer/* /usr/local/nexus/sonatype-work/nexus/indexer/central-ctx/

========================================================

然后把maven仓库传上去之后,重启服务器查看私服:

此时随便搜索一个jar包,这里就是通过刚才上传的索引来搜索jar包了,比如搜:junit

如果你想修改nexus的默认端口,可以在nexus-2.14.2-01/nexus/conf/ 文件夹下的nexus.properties文件中修改application-port指定的默认端口,修改完之后重新启动,就可以通过自己设定的指定端口访问maven私服了。

===========================================================

连接私服,下载jar包

./自己补充的内容 end

 

 

转自:[Maven学习 (四) 使用Nexus搭建Maven私服](http://www.cnblogs.com/quanyongan/archive/2013/04/24/3037589.html)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值