Maven仓库—Nexus环境搭建及使用
/usr/local/nexus/bin/nexus run 可实时查看启动日志
使用Sonatype Nexus搭建Maven私服后如何添加第三方JAR包
http://blog.csdn.net/yanjun008/article/details/42084109
设置启动用户
adduser nexus
vi nexus-3.16.1-02/bin/nexus.rc # 设置如下
run_as_user="root"
建立软链接
sudo ln -s /usr/lib/nexus/nexus-3.16.1-02/bin/nexus /etc/init.d/nexus
设置开机启动
vi /etc/systemd/system/nexus.service
[Unit] Description=nexus service After=network.target [Service] Type=forking LimitNOFILE=65536 ExecStart=/etc/init.d/nexus start ExecStop=/etc/init.d/nexus stop Restart=on-abort [Install] WantedBy=multi-user.target
完成后我们通过以下指令将其加入到开机中:
sudo systemctl daemon-reload
sudo systemctl enable nexus.service
sudo systemctl start nexus.service
修改配置
由于默认监听的端口并不是常用端口,所以我们通过设置对应的文件进行修改,首先我们打开vi /etc/nexus-default.properties
文件,并输入以下内容:
application-port=80
完成以后修改之后我们的监听路径就进行了修改,由于其主要提供的是依赖库的存储,所以默认的存储
空间可能无法满足其需要,所以我们需要修改默认的存储空间路径,这里我们需要编辑 bin/nexus.vmoptions
-Dkaraf.data=/home/sonatype-work
-Djava.io.tmpdir=/home/sonatype-work/tmp
完成以上修改后,我们需要重启服务进行生效:
sudo systemctl stop nexus.service
sudo systemctl start nexus.service
接着我们就可以利用admin/admin123
进行登录了。
Nexus介绍
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。
1、Nexus下载
- 下载地址:http://www.sonatype.org/nexus/ 或 https://help.sonatype.com/repomanager3/download
NEXUS OSS [OSS = Open Source Software,开源软件——免费]
NEXUS PROFESSIONAL -FREE TRIAL [专业版本——收费]。
2、Nexus安装
- 安装环境:操作系统:Linxu(CentOS)
- 将压缩包解压到/usr目录下,nexus里面有2个文件夹,第一个文件夹是核心文件,第二个文件夹用来存储下载下来的jar:
- 修改端口,进入nexus/nexubs-2.13.0-01/conf目录下,编辑nexus.properties文件
- 启动nexus,进入nexus/nexubs-2.13.0-01/bin目录,
- 运行命令:./nexus //可以查看有那些运行命令
- 运行命令:./nexus start //启动nexus
注意:可能会报错,报上面错误时:需要修改运行的用户,修改运行文件 nexus,命令:vim nexus,将RUN_AS_USER修改为root;
保存之后,再次启动nexus,运行命令:./nexus start
- 查看nexus 控制台,命令:./nexus console
- 在浏览器进行访问。地址:http://ip:端口/nexus
- 在网页上的右上角进行登录,默认用户名:admin,密码:admin123
需要注意的是,此处指定好版本号后,上传的jar包的名称就不需要再有版本号了。
3、 Nexus中的仓库:
3.1 登陆Nexus,在左边菜单栏里选择Repositories,然后会出现右边的画面,右边上半部分是列出来的repository,黑体字是类型为group的repository。
这里简单介绍下几种repository的类型:
Ø hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
Ø proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
Ø group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
3.2 管理本地仓库
我们前面讲到类型为hosted的为本地仓库,Nexus预定义了3个本地仓库,分别是Releases, Snapshots, 3rd Party. 分别讲一下这三个预置的仓库都是做什么用的:
Releases:
这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如我们自己做了一个FTP Server的项目, 生成的构件为ftpserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库. 关于符合发布后面会有介绍.
Snapshots:
这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本.
3rd Party:
顾名思义, 第三方库, 你可能会问不是有中央仓库来管理第三方库嘛,没错, 这里的是指可以让你添加自己的第三方库, 比如有些构件在中央仓库是不存在的. 比如你在中央仓库找不到Oracle 的JDBC驱动, 这个时候我们就需要自己添加到3rdparty仓库。
参考资料:http://blog.csdn.net/wang379275614/article/details/43940259/