0
点赞
收藏
分享

微信扫一扫

Maven 仓库 与 私服nexus


Maven 仓库类型:

本地(local)
中央(central)
远程(remote)

本地仓库

Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。

运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。
如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。

默认情况下,不管Linux还是 Windows,
每个用户在自己的用户目录下都有一个路径名为 .m2/repository/ 的仓库目录。

Maven 本地仓库默认被创建在 %USER_HOME% 目录下。
要修改默认位置,在 Maven的 \conf 目录中的 Maven 的 settings.xml 文件中定义另一个路径。

中央仓库

Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。

中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到。

中央仓库的关键概念:

这个仓库由 Maven 社区管理。
不需要配置。
需要通过网络才能访问。
要浏览中央仓库的内容,maven 社区提供了一个 URL:http://search.maven.org/#browse。使用这个仓库,开发人员可以搜索所有可以获取的代码库。

远程仓库

如果 Maven 在中央仓库中也找不到依赖的文件,它会停止构建过程并输出错误信息到控制台。
为避免这种情况,Maven 提供了远程仓库的概念,
它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。

举例说明,使用下面的 pom.xml,Maven 将从远程仓库中下载该 pom.xml 中声明的所依赖的(在中央仓库中获取不到的)文件。

Maven 依赖搜索顺序

当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:

步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
步骤 2 - 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中以备将来引用。
步骤 3 - 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
步骤 4

下载与使用

1、下载Maven 3安装包
官网:http://maven.apache.org/download.cgi
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/

2、安装Maven
tar xf apache‐maven‐3.3.9‐bin.tar.gz
mv apache‐maven‐3.3.9 /usr/local/
ln ‐s /usr/local/apache‐maven‐3.3.9/ /usr/local/maven
/usr/local/maven/bin/mvn ‐v

3、编辑/etc/profile文件,在末尾添加
export PATH=/usr/local/apache‐maven‐3.3.9/bin/:$PATH
mvn ‐v 查看版本号

上传一个简单的java项目包hello‐world.tar.gz进行解压
进入目录执行打包命令
validate(验证): 验证项目正确,并且所有必要信息可用。
compile(编译): 编译项目源码
test(测试): 使用合适的单元测试框架测试编译后的源码。
package(打包): 源码编译之后,使用合适的格式(例如JAR格式)对编译后的源码进行打包。
integration‐test(集成测试): 如果有需要,把包处理并部署到可以运行集成测试的环境中去。
verify(验证): 进行各种测试来验证包是否有效并且符合质量标准。
install(安装): 把包安装到本地仓库,使该包可以作为其他本地项目的依赖。
deploy(部署): 在集成或发布环境中完成,将最终软件包复制到远程存储库,以与其他开发人员和项目共享。
mvn clean (清除) : 清除上次编译的结果
mvn package ‐Dmaven.test.skip=true 跳过测试用例
cd hello‐world
mvn package #会去maven的中央仓库去下载需要的依赖包和插件到.m2目录下

jenkins 推荐编译命令
mvn clean install -Dmaven.test.skip=true -U
编译好会在当前目录

Maven 阿里云(Aliyun)仓库

Maven 仓库默认在国外, 国内使用难免很慢,我们可以更换为阿里云的仓库。
修改 maven 根目录下的 conf 文件夹中的 settings.xml 文件,在 mirrors 节点上,添加内容如下:

<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>

编译时候查看是否通过阿里云下载依赖文件

Maven 仓库 与 私服nexus_maven

创建私服nexus

#建议先删除 之前下载的依赖文件 rm -rf /root/.m2/repository/*
部署私服 xenus 下载https://www.sonatype.com/download‐oss‐sonatype
配置仓库两个选项
1、项目下的pom.xml配置、只生效当前的项目
2、在maven配置全局所有项目生效
上传JDK和nexus安装包
rpm ‐ivh jdk‐8u121‐linux‐x64.rpm
mv nexus‐3.13.0‐01 /usr/local/
ln ‐s /usr/local/nexus‐3.13.0‐01 /usr/local/nexus
/usr/local/nexus/bin/nexus start

10.0.0.202:8081 admin admin123
配置Maven全局配置文件
/usr/local/maven/conf/settings.xml

增加新的代理源

Maven 仓库 与 私服nexus_apache_02


Maven 仓库 与 私服nexus_linux_03


Name 填写 aliyun, URL输入:http://maven.aliyun.com/nexus/content/groups/public/,其他值默认。

Maven 仓库 与 私服nexus_maven_04


选择Configuration > Repository, 双击 maven-public, 在Group区域将aliyun移到右侧Members, 上移到maven-central的上面, 点击 Save。

Maven 仓库 与 私服nexus_linux_05


举报

相关推荐

0 条评论