| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> maven简介和nexus私服安装 -> 正文阅读 |
|
[Java知识库]maven简介和nexus私服安装 |
Maven的简单介绍、centos7搭建nexus2私服 目录 在maven配置文件settings.xml的servers配置私服的认证。 前言以前没使用maven那会,开发项目都是网上导出找jar包,什么官方下载,没镜像的中央仓库(网速差的两批),别人共享的百度云,CSDN的收费资源等等,各种手段也是收集了一堆jar。然鹅开发有时还是会有jar包冲突,版本不对等等情况,着实让人烦躁。 使用maven 的好处有:节省外网宽带,都是内网的仓库;加速maven工程构建,内网速度快;部署获取第三方构件,还有部署公用jar包业务包等。 什么是maven需求促进市场,maven自然就有大佬研发出来了。与其说是一种技术,不如说是一种理念和思维一种解决问题的方式,maven就是一种具体的实现和完善。 Maven是一套项目管理工具,比如jar包的统一管理,构建应用工程的编译打包部署,还可以开发自定义插件,来方便自己的习惯操作。 很方便的使用依赖包(构件)使用POM文件来管理项目依赖的jar包,通过GAV来定位一个jar,安装完maven配置一下,使用的时候它就会自动帮你下载jar包,你只需要给他一个GAV。 解决项目间的依赖关系,比如项目A需要项目B的一个功能类,只需要在A项目的POM中通过GAV引入即可引用B项目的功能,打包的时候它自动会帮你把项目B的jar包弄进去。 Maven构建大型项目在创建一个大型项目的时候,可以通过maven将项目分割成几个子模块(项目),比如一个电商项目==》订单管理系统,支付管理系统,用户管理,公共类,然后创建一个类型为POM的父类,使用modules标签来包裹几个子模块,父类只负责统一构件的版本号(spring、jdk、tomcat、编码和一些公共的构件包)。 Maven生命周期Maven 的生命周期符合大部分软件工程的构建过程,使用maven执行项目构建的时候,按照:clean、compile、test、package、install、deploy,当然这只是其中一些主要的命令,它实际执行还包括一些预清理 后清理 预编译 校验等等操作。
网络姿势Maven的创始人是Jason Van Zyl,诞生时间大概在2001年3月。Maven起源于Jakarta Alexandria项目,在2002年10月份左右Maven迁移到Turbine项目中继续发展, 最后是被纳入阿帕奇(Apache)的一个开源项目,供开发者免费下载使用。 本地仓库、远程仓库(私服仓库,中央仓库,第三方仓库)的区别
settings.xml配置文件主要介绍下3个标签,server、mirror、repository
有以下规则:
私服搭建nexus下载,上传,解压缩
我这里建立了一个软连接nexus方便使用,对应的是安装目录nexus-2.14.5-02 修改运行文件在安装目录里的bin目录下编辑nexus文件 vi nexus,将运行用户改为root,RUN_AS_USER=root,安装路径改为你自己的NEXUS_HOME=””。 修改配置文件在conf目录vi nexus.properties 可以修改默认端口,工作目录一般不用改。改完保存退出。 启动nexus服务 ./nexus start相关的命令: ./nexus {start|stop|run|run-redirect|status|restart|force-reload},这里start和run都是启动命令。start是后台启动,可以挂到后台运行,run是实时启动的可以看到启动日志。 服务状态可以执行./nexus status查看是否启动成功,然后浏览器打开http://11.11.11.11:8081/nexus 你的服务器ip加默认端口8081,默认登录账号密码admin/admin123 浏览器无法访问私服?1. 查看防火墙是否开启了,firewalld和iptables二者都属于防火墙管理规则,可以先查看两者是否都开启了,再单个排查
编辑开放端口号文件:vi /etc/sysconfig/iptables? 添加允许端口: -A INPUT -m state --state NEW -m tcp -p tcp --dport ?8081 -j ACCEPT 保存:service iptables save 重启:service iptables restart 2. 检查阿里云服务器是否已经把8081端口加入安全组(入口) 私服仓库介绍点击左边Repository仓库,可以看到右边已有的仓库 仓库类型
常用仓库
将多个仓库组合起来一起使用,只需引入一个仓库组地址即可享用多个仓库资源。左边是已加的仓库,右边是可用仓库(需要就把右边-挪到-左边 )
仓库配置记得将Deployment Policy设置为Allow Redeploy不然会部署失败 以上仓库如果不够用,可以自己新建仓库,同样可以新建用户、角色和权限。管理员给用户配置角色,角色可以添加权限,权限就跟仓库挂钩。这样就可以指定用户可以部署到哪些仓库,这个一般中小公司用不到,有兴趣自己可以尝试一波。? Maven向私服下载构件其实也就是将私服仓库配置到本地的repository,当项目在本地仓库找不到构件就会从私服搜索下载,然后放到本地仓库缓存起来,以便项目打包时使用。在settings.xml文件找到profile部分配置 配置私服仓库地址
我这里是配置了仓库组。 激活profile?,才能使配置生效
在maven的settings.xml文件,对应位置添加即可 使用maven打包发布到私服事实上,只要你的私服搭建完毕,maven也配置好了,只需要做下面两件事就可以发布jar到私服上。 在maven配置文件settings.xml的servers配置私服的认证。用户名和密码就是nexus 里面配置账号密码,id 自定义,在pom 里面会引用此处的id 进而通过此处用户名和密码连接远程仓库。admin密码默认admin123(建议先修改密码),一般都是上传包需要校验,下载不用。
这里是配置了快照版本和发布版本两个校验,实际开发中这两个的账号密码应该不同。? 在maven项目的POM配置发布地址
? 注意这里的ip和端口改为你私服的ip端口,id要和settings.xml文件里面server的id相同才能匹配和校验成功。 通过上面的配置,就可以发布构件到你的私服了。执行maven命令 mvn clean deploy 即可。如果你项目版本是快照版本(如下图version后缀带 -SNAPSHOT),就会发布到快照仓库下。否则一律视为正式版本。 ? 快照仓库 maven 打包代码到私服根据version 后面是否带有“-SNAPSHOTS” 来区分是打包线上版本还是快照版本,如果带有“-SNAPSHOTS” ?打包快照版本,否则即为线上版本。发布地址分别对应快照仓库snapshots和正式仓库releases。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 5:57:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |