Maven私服的配置和使用

在本地用户的“.m2”目录下,找到 settings.xml。在本文计算机上的目录是 C:\Users\leovo\.m2\settings.xml。如果计算机是第一次使用,可能没有 settings.xml 文件,不过在 apache-maven-3.3.9 的安装目录里面有个 conf/settings.xml,把这个文件复制到用户的“.m2”目录下就行。

下面就按照步骤,在 settings.xml 中完成开发员计算机同私服连接的配置。

1. 配置同服务器的认证信息

根据前面搭建的私服,应该可以得出结论。私服就是 Web 服务器,里面提供了构件资源,程序员可以通过 Web 下载。既然要连接 Web 服务器访问,首先是在本地配置能访问 Web 服务器的认证信息(用户名和密码)。

在 settings.xml 文件中找到 servers 标签,在里面添加一个 server 的认证信息配置,格式如下:

<id>archivaServer</id>
<username>admin</username>
<password>admin123</password>

注意:
  • id 是要认证的服务器名称,可以配置多个。它是用来标记服务器的,要唯一。
  • username 和 password 是用户名和密码。这里直接在初始化 Archiva 服务器的时候,创建了 admin 用户名和密码。
  • 如果要连接多个私服,可以类似地配置多个 server,每个 server 是一个私服的认证信息。

2. 配置要连接的私服信息

前面在 settings.xml 中配置了连接私服的认证信息。认证信息对应的是哪个私服呢?接下来就在 settings.xml 中配置私服信息。

很简单,直接在 settings.xml 中找到 mirrors 标签,在该标签中插入如下内容。

<mirror>
    <id>archivaServer</id>
    <mirrorOf>*</mirrorOf>
    <name>MyownRepo2</name>
    <url>http://localhost:8080/repository/internal</url>
</mirror>

注:id 是私服映射的标记,该标记要同 server 中的 id 一样。如果连接私服需要认证信息,Maven 可以通过 id 找对应的 server,用 server 的认证信息进行认证。
  • mirrorOf 指定哪些内容需要通过私服下载,* 表示所有构件都需要从私服下载。
  • name 是私服的名称,随意取,方便自己记忆和理解就好。
  • url 指定私服的 Url,注意格式:

http://<私服ip/名称>:<web端口>/reposotory/<仓库 id>

上面的步骤比较烦琐,不过需要依赖时,可以直接从搭建的私服中获取。当然,不能保证私服有现成的。不过不要紧,私服自己会去网络中找对应的依赖,同时它也会在自己的仓库中备份,以备其他开发人员需要。

3. 配置本地工程的发布

前面将私服上的依赖下载到本地,进行项目开发了。本地的模块开发好了,怎样把它们打包,以构件的形式发布到私服上去,让同项目组的组员进一步开发其他项目或模块的功能呢?

这就是解决本地项目打包,在私服上发布成构件的问题。要完成这些功能,需要做两件事:编写配置文件和运行发布命令。

1)编写配置文件

前面的步骤都是在 settings.xml 中进行配置。这步需要在工程的 pom.xml 文件中,在 project 标签内,添加 distributionManagement 配置,指定要发布的目标地(私服)。具体内容如下:

<distributionManagement>
    <repository>
    <id>archivaServer</id>
    <url>http://localhost:8080/repository/internal</url>
    </repository>
    <snapshotRepository>
        <id>archivaServer</id>
        <url>http://localhost:8080/repository/snapshots</url>
    </snapshotRepository>
</distributionManagement>

注:上面的信息配置了两个仓库 url,一个是 repository;另一个是快照 repository。每个 repository 中都有一个 url。

其中 url 就是要发布的私服仓库 url,与在 settings.xml 中配置 mirror 中的 url 一样。同样,有两个 Id。

需要注意,要与在 settings.xml 中用 server 配置的验证信息中的 Id 对应。因为发布就是上传文件,上传文件前需要安全认证。Maven 是通过 Id 将 server 中的验证信息发送给私服,私服认证通过了,才允许用户将本地构件上传。

2)运行发布命令

前面已经将配置信息都配置好了,右击“工程”,选择 Run As→Maven build… 命令,在弹出框的 Goal 后面输入 deploy,单击 Run 按钮,它们就会自动发布到私服。

推荐文章
Go语言goto语句——跳转到指定的标签

Go语言中goto语句通过标签进行代码间的无条件跳转,同时goto语句在快速跳出循环、避免重复退出上也有一定的帮助,使用goto语句能简化一些代码的实现过程。 使用goto退出多层循环 下面这段代码

“windows是一个多任务操作系统”指的是什么

“windows是一个多任务操作系统”指的是:Windows可同时运行多个应用程序。在windows系统中,一台计算机同时只能有一个用户在使用,该用户一次可以提交多个作业,一个用户独自享用系统的全部硬

语法1 setFloat(intposition,floatval) position:用于指定是第几个参数。 val:用于指定对应的参数值。 示例 Stringhql="fromGoods

Java Set.remove()方法:移除Set集合中的指定对象

Java 集合类中的Set.remove()方法用于移除Set集合中的指定对象。该方法返回值为boolean类型,如果Set集合包含参数o指定的对象,则返回true,否则返回false。 语法:

三级缓存有什么用?

一级缓存都内置在CPU内部并与CPU同速运行,可以有效的提高CPU的运行效率。一级缓存越大,CPU的运行效率越高,但受到CPU内部结构的限制,一级缓存的容量都很小。二级缓存,它是为了协调一级缓存和内存

数据结构与算法视频教程汇总

数据结构和算法是相互依存的关系: 数据结构研究的数据在计算机中的组织形式和存储形式,无论你以何种方式解决问题,都需要处理数据,比如员工薪水、股票价格、购物清单、通讯录等。根据不同的需求场景,有很多

Spring MVC单文件上传(附带实例)

本节通过一个应用案例springMVCDemo11讲解SpringMVC框架如何实现单文件上传,具体步骤如下: 1)创建应用并导入JAR包 创建应用springMVCDemo11,将SpringMV

PHP函数是什么

在日常开发中,如果有一个功能或者一段代码要经常使用,则可以把它写成一个自定义函数,在需要的时候进行调用。 在程序中调用函数是为了简化编程的负担,减少代码量和提高开发效率,达到增加代码重用性、避免重复

新手学习c语言用什么软件?

新手学习c语言可以用的软件Dev-C++这是Windows环境下一个免费、轻量级的C/C++开发软件,自带有GCC、GDB编译调试工具,可以直接编译运行C语言程序,使用方式和早期的VC6.0非常像,没

redis是单线程还是多线程,为什么?

Redis是单线程的,为上下文切换线程节省了大量时间。那么,为什么Redis是单线程的?一、官网解释由于Redis是基于内存的操作,因此CPU并不是Redis的瓶颈。Redis的瓶颈很可能是机器内存或

ov是什么缩写?

ov是什么缩写?ov是ObjectValue的缩写。ObjectValue是一种Java语言,是实体类Object与其属性值Value的相结合,意思为对像表格即由java对像动态生成表格的一种技术,通

什么是垃圾链接?

垃圾链接(SpamLinks)是部分站长为了能够快速达到关键词排名的目的,使用群发软件等在各大论坛和博客发布与该论坛、博客主题内容不相关的链接。垃圾链接都是与网站主题内容不相关的链接或者通过群发机发送

TensorFlow逻辑回归处理MNIST数据集

本节基于回归学习对MNIST数据集进行处理,但将添加一些TensorBoard总结以便更好地理解MNIST数据集。 MNIST由https://www.tensorflow.org/get_star

eclipse没有server选项怎么办?

eclipse没有server选项的解决方法第一步、在eclipse菜单“Help”中选择“InstallNewSoftware”如下图所示。第二步、然后在Workwith中点击Add,如下图所示,加

breezip是什么软件?

BreeZip是一款免费的文档压缩+解压工具,可以“解压缩”许多不同类型的存档文件,是Windows10上winrarfree的一个替代品。它将打开常见的格式,如ZIP、RAR、7-Zip、TAR、G

7个值得收藏的前端调试工具

如果你从事的是前端开发,就应该能理解调试代码还是很有难度的。特别是对于JavaScript,一个小错误有时会花费数小时来调试。对于不同的浏览器、操作系统和设备,错误又是不可避免的。本文主要列出一些调试

VS2010使用教程(使用VS2010编写C语言程序)

提示:VS2010可以在XP、Win7和Win8下完美运行,但在Win10下可能会有兼容性问题,使用Win10的读者建议安装VS2015或者VS2017。 前面我们给出了一段完整的C语言代码,就是在

学IT需要什么基础?

学IT需要什么基础?1、喜欢IT有句话说的好:只有喜欢,才能用心;只有用心,才能做好!IT是一个行业,有很多知识和技能,发展方向也很多。那么给自己制定一个目标,然后为了自己的目标努力。2、动手能力强在

exce中不可以隐藏的是什么?

exce中不可以隐藏的是:一个单元格。Excel中不能隐藏单个的单元格,只能隐藏整行或整列单元格。Excel显示和隐藏工作表方法这种方法最为简单,直接单击“菜单栏”的“格式”--工作表--隐藏;此时我

Python logging模块用法快速攻略

无论使用哪种编程语言,最常用的调试代码的方式是:使用输出语句(比如C语言中使用printf,Python中使用print()函数)输出程序运行过程中一些关键的变量的值,查看它们的值是否正确,从而找到出