前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nexus基础说明与环境配置

nexus基础说明与环境配置

作者头像
CainGao
发布2020-04-14 14:49:18
1.7K0
发布2020-04-14 14:49:18
举报
文章被收录于专栏:指尖数虫

使用maven,gradle等构建项目必定会用到nexus来搭建私服,Maven的公服与私服是非常重要的概念

Apache Maven是采用纯Java编写的开源项目管理工具。Maven采用了Project Object Model(POM)的概念来管理项目。项目相关的配置管理信息存储于pom.xml文件中。可以通过该文件来查看项目的管理周期,同时可以实现清理,编译,测试,打包等功能。目前绝大多数的Java项目均采使用Maven进行项目挂管理。Maven本身支持的插件机制可以更加灵活的对项目进行控制。便于开发人员把注意力放在业务实现上而不是去选择不同的编译、环境配置、项目部署等问题。

1.为什么需要maven私服?

Maven中所依赖的各种开源的jar包都存储于中央仓库上,中央仓库提供类似于Apache等jar包的下载、管理等。但是在某些场景下我们又需要自己管理公司所开发的jar包。例如基础工具类包,或者common类的bean包等。这样的话就需要能够对该工具包进行管理。提供给公司所有员工进行访问。这样就可以使用nexus搭建maven的私有化仓库。也就是常说的私服。

2.部署Nexus

Nexus全称Nexus Repository Manager OSS,是实现Maven的私有化仓库工具。Nexus当前不仅仅是能够实现maven项目的管理同样可以实现npm,NuGet,RubyGems,Docker,P2,OBR,APT和YUM等存储与分发。

Nexus的安装较为简单,我们当前可以直接进行下载安装。

代码语言:javascript
复制
wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.14.0-04-unix.tar.gz
tar- zxvf nexus-3.14.0-04-unix.tar.gz
mv nexus-3.14.0-04 /ROOT/server/

/ROOT是我从公司继承过来的规范,所有相关的操作在ROOT下。而ROOT下具体的目录有 backups(备份路径)、data(数据路径)、install(安装包)、jobs(定时任务,或其他任务)、logs(日志路径)、scripts(脚本路径)、server(服务)、tmps(临时文件)、www(web服务类)。

执行

代码语言:javascript
复制
/ROOT/server/nexus-3.14.0-04/bin/nexus start

日志输出信息提供启动成功,WARNING是表示不建议使用root方式进行启动,最好切换为其他用户。

查看 /ROOT/server 目录下,发现多了一个sonatype-work,该目录就是nexus的工作目录,目录下存储着缓存文件,db文件,日志等相关内容。首次启动较慢,可以进入log文件中查看启动状态。

显示该内容则表示启动成功,使用浏览器访问 ip:8001 进入web系统. 默认帐号密码:admin,admin123

3.配置maven
  1. 找到maven的conf下的settings.xml进行配置修改。
代码语言:javascript
复制
<!--设置nexus的帐号密码,便于上传jar包-->
<servers>
	<server>
        <id>maven-releases</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
	<server>
        <id>maven-snapshots</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id>nexus</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
</servers>
<!--设置nexus镜像,便于jar包的下载-->
<mirrors>
	<mirror>
        <id>nexus</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus</name>
        <url>http://ip:8081/repository/maven-public/</url>
    </mirror>
</mirrors>
  1. 设置需要上传的工程pom.xml
代码语言:javascript
复制
<distributionManagement>
    <repository>
        <id>maven-releases</id>
        <name>Nexus Release Repository</name>
        <url>http://ip:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>maven-snapshots</id>
        <name>Nexus Snapshot Repository</name>
        <url>http://ip:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>
  1. 使用idea的maven插件进行deploy上传

上传成功.

进入nexus web页面即可搜索到该jar包。

4.使用私服构建的工具包

当jar包上传到nexus成功后,确认maven的settings.xml配置文件中配置的mirror是私服的地址那么即可进行使用。 在需要依赖的pom.xml文件中进行依赖。

代码语言:javascript
复制
<dependency>
	<groupId>groupId</groupId>
	<artifactId>artifaceId</artifactId>
	<version>0.0.1</version>
	<scope>compile</scope>
</dependency>

即可进行使用

5.总结

nexus repository oss是实现maven或其他工具实现私有化仓库的工具。私有化能够更加便利与程序的开发,结合maven等其他相关工具能够实现对项目更好的管理。nexus管理的二方包对于公司内部业务的产品线归纳总结更好。工程质量能够得到更好的把控。积累更多的项目,技术经验。例如工具类,能够基于版本的迭代实现越来越好越来越强大的功能。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 指尖数虫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.为什么需要maven私服?
  • 2.部署Nexus
  • 3.配置maven
  • 4.使用私服构建的工具包
  • 5.总结
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档