使用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.部署NexusNexus全称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找到maven的conf下的settings.xml进行配置修改。代码语言:javascript复制
设置需要上传的工程pom.xml代码语言:javascript复制
使用idea的maven插件进行deploy上传
上传成功.
进入nexus web页面即可搜索到该jar包。
4.使用私服构建的工具包当jar包上传到nexus成功后,确认maven的settings.xml配置文件中配置的mirror是私服的地址那么即可进行使用。
在需要依赖的pom.xml文件中进行依赖。
代码语言:javascript复制
即可进行使用
5.总结nexus repository oss是实现maven或其他工具实现私有化仓库的工具。私有化能够更加便利与程序的开发,结合maven等其他相关工具能够实现对项目更好的管理。nexus管理的二方包对于公司内部业务的产品线归纳总结更好。工程质量能够得到更好的把控。积累更多的项目,技术经验。例如工具类,能够基于版本的迭代实现越来越好越来越强大的功能。