maven安装与配置(02开发工具maven环境安装与入门)
MAVEN简介
MAVEN是一个项目管理工具,这里的项目是指对项目的构建过程进行管理
项目的构建过程:是项目从编写源代码到编译、测试、打包、运行、部署的完整过程
比如:
1、如何组织代码,java代码放哪,配置文件放......
2、用到的jar包去哪里找等等......
3、如何打包部署......
它有两大功能:jar包的依赖管理和项目的一键构建
MAVEN安装
在百度找到maven官网
找到下载包
自动下载
我在电脑上找个空目录,我是在D盘建了个work文件夹,里边建立了一个code文件夹,并把下载的maven包复制过来,解压
解压后可以删除压缩包
MAVEN配置
找到settings.xml配置文件
新建一行配置,用来存放网上下载的jar包
我们在新建一个repo文件夹
配置环境变量
配置启动命令
测试正常
MAVEN私服
私服的意义
私服就是公司私自使用的服务器,每个程序员的机器中都有一个本地的maven仓库,pom.xml中的依赖坐标先去本地仓库找jar包,如果没有就会在网络上的中央仓库找,但很多公司都不提供外网给项目组人员,就不能使用maven访问远程的仓库地址,怎么办?
有时候会使用到公司内部的一些开发包,如公司的基础平台类jar包,显然把这些包放在外部是不合适的,而且这些内部的基础平台项目可能也在不断的更新。
公司在局域网里找一台有外网权限的机器,搭建nexus私服服务器,在私服上面有个maven仓库,开发人员连到这台私服上找jar包而不是去中央仓库,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库,这样不仅可以解决以上的问题,同时也节省了公司的网络带宽
好处:
1、解决开发人员不能上外网时无法下载jar包的问题
2、不需要翻墙
3、局域网内完成下载,节省了公司的网络带宽
公共的共用代码可以上传到服务器供其它人使用
使用场景如下:
下载安装私服
前提条件必须有jdk和java_home环境变量
https://www.sonatype.com/oss-thank-you-win64.zip
将压缩包解压到一个非空非中文的目录
管理员权限进入命令行
进入nexus的bin目录,运行安装命令(意思是加到服务里)
nexus install
在计算机后台可以看到增加了一个nexus服务,是已停止状态
如果想要卸载也很简单,运行如下命令:nexus uninstall
启动私服
还是在bin目录下运行nexus start 启动稍慢,如果启动不看看jdk正常不
服务已经启动
私服管理控制台
打开配置文件看看控制台的地址
访问:http://localhost:8081/nexus
点击右上角“log in”
输入username:admin 和Password:admin123登录
我们只看repositories里
有7个仓库,分为4种类型
Hosted:表示本地仓库(宿主仓库),可以将jar包上传该仓库
Snapshots:开发版本的仓库,存放测试中的jar包,公司和项目组自己开发的测试版本
Releases:正式版本的仓库,存放测试完成并没有问题的jar包,正式发布版本更加严格
3rd party:表示第三方仓库,放置的是互联网中没有的jar包的坐标,可以自己上传jar包,因为一些版权问题,不允许存在于中央仓库中,比如oracle的jdbc驱动包(classe12.jar),受到商业版权的限制
Proxy:表示代理仓库,只能从互联网中获取jar包,不能自己上传
Central:maven团队的中央仓库
Apache Snapshots:apache公司自己的开源jar
Group:表示仓库组,用来合并多个仓库到一起
Public Repositories:公共的仓库,将多个仓库合并到一起,通过一个地址提供jar包下载
Virtual 虚拟老仓库的镜像
我们其实只用Public Repositories公共的仓库即可
私服配置
1、在你的Maven Home路径上一层,找到conf/settings.xml,为方便我把这个文件里的注释都删除了
2、先要在Maven软件里把私服的地址配置上,让maven别去中央仓库下载而是先到私服找jar包,在settings.xml的<profiles>中增加:
<profile>
<id>dev</id>
<repositories>
<repository>
<!--仓库id,可以配置多个仓库要保证id不重复-->
<id>nexus</id>
<!--仓库地址,也就是我们私服的仓库组地址-->
<url>http://私服ip:8081/nexus/content/groups/public/</url>
<!--是否下载releases版本的jar-->
<releases>
<enabled>true</enabled>
</releases>
<!--是否下载snapshots版本的jar-->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!--插件仓库,maven运行时的命令依赖的插件jar包,也从私服下载-->
<pluginRepository>
<id>public</id>
<url>http://私服ip:8081/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
在</settings>前增加
<!-- 激活profiles -->
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
3、添加阿里云私服地址
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
验证配置是否成功
在命令行执行如下命令 mvn help:effective-settings 。
1、无报错,表明 setting.xml 文件格式没问题。
2、并且从私服下载了jar包
阿里云私服
以上是我们自己用ecs搭建的私服服务器,实际上我们都不需要这么干,阿里云里的云效里已经免费给我们提供了私服的使用
开通云效
新增企业
开通私有仓库
配置私服
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
添加server配置,在servers节点内
<server>
<id>rdc-releases</id>
<username>4rSI*W</username>
<password>rKf3ECni*7</password>
</server>
<server>
<id>rdc-snapshots</id>
<username>4rSI*W</username>
<password>rKf3ECni*7</password>
</server>
添加profile
<profile>
<id>rdc-private-repo</id>
<repositories>
<repository>
<!--仓库id,可以配置多个仓库要保证id不重复-->
<id>rdc-releases</id>
<!--仓库地址,也就是我们私服的仓库组地址-->
<url>https://repo.rdc.aliyun.com/repository/29**0-release-Xy77jx/</url>
</repository>
<repository>
<!--仓库id,可以配置多个仓库要保证id不重复-->
<id>rdc-snapshots</id>
<!--仓库地址,也就是我们私服的仓库组地址-->
<url>https://repo.rdc.aliyun.com/repository/29**0-snapshot-xnpB4B/</url>
</repository>
</repositories>
</profile>
激活配置
添加activeProfile
<activeProfile>rdc-private-repo</activeProfile>
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com