一起深入探讨Maven远程仓库的配置和部署

简介: Maven远程仓库的配置和部署前言:Maven 是专门用于构建和管理Java相关项目的工具。Maven 是一个项目管理和整合工具。Maven 为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置,因为 Maven 使用了一个标准的目录结构和一个默认的构建生命周期。

Maven远程仓库的配置和部署
QQ_20190730134117

前言:

Maven 是专门用于构建和管理Java相关项目的工具。Maven 是一个项目管理和整合工具。Maven 为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置,因为 Maven 使用了一个标准的目录结构和一个默认的构建生命周期。

Maven 的主要目的是为开发者提供:一个可复用、可维护、更易理解的工程综合模型;与这个模型交互的插件或者工具。

今天要跟大家一起分享探讨的是Maven远程仓库的配置和部署,下面一起进入正题把

一、远程仓库的配置

在平时的开发中,我们往往不会使用默认的中央仓库,默认的中央仓库访问的速度比较慢,访问的人或许很多,有时候也无法满足我们项目的需求,可能项目需要的某些构件中央仓库中是没有的,而在其他远程仓库中有,如JBoss Maven仓库。这时,可以在pom.xml中配置该仓库,代码如下:




jboss
JBoss Repository
http://repository.jboss.com/maven2/

true
daily


false
warn

default


repository:在repositories元素下,可以使用repository子元素声明一个或者多个远程仓库。
id:仓库声明的唯一id,尤其需要注意的是,Maven自带的中央仓库使用的id为central,如果其他仓库声明也使用该id,就会覆盖中央仓库的配置。
name:仓库的名称,让我们直观方便的知道仓库是哪个,暂时没发现其他太大的含义。
url:指向了仓库的地址,一般来说,该地址都基于http协议,Maven用户都可以在浏览器中打开仓库地址浏览构件。
releases和snapshots:用来控制Maven对于发布版构件和快照版构件的下载权限。需要注意的是enabled子元素,该例中releases的enabled值为true,表示开启JBoss仓库的发布版本下载支持,而snapshots的enabled值为false,表示关闭JBoss仓库的快照版本的下载支持。根据该配置,Maven只会从JBoss仓库下载发布版的构件,而不会下载快照版的构件。
layout:元素值default表示仓库的布局是Maven2及Maven3的默认布局,而不是Maven1的布局。基本不会用到Maven1的布局。
其他:对于releases和snapshots来说,除了enabled,它们还包含另外两个子元素updatePolicy和checksumPolicy。
1:元素updatePolicy用来配置Maven从远处仓库检查更新的频率,默认值是daily,表示Maven每天检查一次。其他可用的值包括:never-从不检查更新;always-每次构建都检查更新;interval:X-每隔X分钟检查一次更新(X为任意整数)。
2:元素checksumPolicy用来配置Maven检查校验和文件的策略。当构建被部署到Maven仓库中时,会同时部署对应的检验和文件。在下载构件的时候,Maven会验证校验和文件,如果校验和验证失败,当checksumPolicy的值为默认的warn时,Maven会在执行构建时输出警告信息,其他可用的值包括:fail-Maven遇到校验和错误就让构建失败;ignore-使Maven完全忽略校验和错误。
二、远程仓库的认证

大部分的远程仓库不需要认证,但是如果是自己内部使用,为了安全起见,还是要配置认证信息的。

配置认证信息和配置远程仓库不同,远程仓库可以直接在pom.xml中配置,但是认证信息必须配置在settings.xml文件中。这是因为pom往往是被提交到代码仓库中供所有成员访问的,而settings.xml一般只存在于本机。因此,在settings.xml中配置认证信息更为安全。


...



releases
admin
admin123


...

这里除了配置账号密码之外,值关键的就是id了,这个id要跟你在pom.xml里面配置的远程仓库repository的id一致,正是这个id将认证信息与仓库配置联系在了一起。

三、部署构件至远程仓库

我们自己搭建远程仓库的目的就是为了可以方便部署我们自己项目的构件以及一些无法从外部仓库直接获取的构件。这样才能在开发时,供其他对团队成员使用。

Maven除了能对项目进行编译、测试、打包之外,还能将项目生成的构件部署到远程仓库中。首先,需要编辑项目的pom.xml文件。配置distributionManagement元素,代码如下:

releases

public

http://59.50.95.66:8081/nexus/content/repositories/releases

snapshots

Snapshots

http://59.50.95.66:8081/nexus/content/repositories/snapshots

看代码,从命名上就看的出来区别,repository表示表示发布版本(稳定版本)构件的仓库,snapshotRepository表示快照版本(开发测试版本)的仓库。这两个元素都需要配置id、name和url,id为远程仓库的唯一标识,name是为了方便人阅读,关键的url表示该仓库的地址。

配置好了就运行命令mvn clean deploy,Maven就会将项目构建输出的构件部署到配置对应的远程仓库,如果项目当前的版本是快照版本,则部署到快照版本的仓库地址,否则就部署到发布版本的仓库地址。

当前项目是快照还是发布版本是通过 true 这个来区分的。

相关文章
|
5天前
|
Java Maven
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
这篇文章是一份关于Maven的安装和配置指南,包括下载、环境变量设置、配置文件修改、IDEA集成Maven以及解决jar包下载问题的方法。
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
|
9天前
|
Java 编译器 测试技术
项目管理工具Maven的简单配置示例
【8月更文挑战第11天】这段内容介绍了如何通过Maven快速搭建并配置一个Java项目。首先需确保已安装Maven,接着可通过命令行创建一个基础项目结构,定义`groupId`、`artifactId`等基本信息。项目根目录下的`pom.xml`文件是核心配置文件,用于声明依赖库如JUnit,并配置构建插件如Maven Compiler Plugin以指定Java编译版本。最后,通过执行`mvn clean install`命令完成项目的清理与构建。这个流程适合初学者快速上手Maven项目管理。
|
5天前
|
Java 应用服务中间件 Maven
Mac使用Idea配置传统SSM项目(非maven项目)
Mac使用Idea配置传统SSM项目(非maven项目)
16 1
|
5天前
|
Java Maven
成功解决IDEA中建立新项目Maven会默认选择配置(图解详细说明)
这篇文章提供了在IntelliJ IDEA中设置新项目的Maven配置的详细步骤,包括如何通过菜单路径进入设置,选择Maven配置,以及展示设置后的效果,还提供了Maven的安装教程和解决导入项目时jar包下载问题的方案。
成功解决IDEA中建立新项目Maven会默认选择配置(图解详细说明)
|
7天前
|
存储 Java Linux
Maven 仓库
Maven仓库是管理项目依赖、插件及构建输出(如JAR、WAR等)的存储位置。分为本地、中央和远程三种。本地仓库默认位于用户家目录`.m2/repository`,可配置至其他路径;中央仓库由Maven社区维护,包含丰富开源库,无需配置但需网络访问。远程仓库则介于两者之间。通过合理利用这些仓库,可以高效管理项目依赖。
|
8天前
|
Java Linux Maven
Maven 仓库
Maven 仓库是管理项目依赖、插件及构建输出(构件)的位置。分为本地、中央和远程三种。本地仓库默认位于 `%USER_HOME%/.m2/repository/`,首次执行 Maven 命令时创建,可配置自定义路径。中央仓库由 Maven 社区维护,包含丰富的开源 Java 构件及元数据,无需配置但需网络访问,可通过 `http://search.maven.org/#browse` 浏览。远程仓库则介于两者之间,用于存放特定组织所需的构件。
|
1天前
|
敏捷开发 Java 持续交付
阿里云云效产品使用合集之maven仓库是否可以代替自建的Nexus
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
1天前
|
Java Linux Maven
Maven 仓库
Maven仓库管理项目的依赖、插件及构建输出。分为本地、中央和远程仓库。本地仓库默认位于用户目录下的`.m2/repository/`,首次运行Maven时创建,可配置路径。中央仓库由社区维护,含大量常用库,无需配置但需网络访问。远程仓库则包括其他公共或私有仓库。通过这些仓库,Maven确保了依赖的一致性和可获取性。
|
5天前
|
Java Linux Maven
Maven 仓库
Maven 仓库是管理项目依赖、插件及构建输出(如 JAR、WAR 和 POM 文件)的地方。分为本地、中央和远程仓库。本地仓库默认位于 `%USER_HOME%/.m2/repository`,可自定义;首次运行 Maven 命令时创建。中央仓库由 Maven 社区维护,包含丰富的开源 Java 构件及其相关信息,无需配置但需网络访问,可浏览于 `http://search.maven.org`。远程仓库则指除本地和中央仓库之外的其他外部仓库。
|
5天前
|
Java Maven
Mac Maven环境变量配置 zsh: command not found: mvn
Mac Maven环境变量配置 zsh: command not found: mvn
16 0

推荐镜像

更多