在之前的博文里头已经介绍了Archiva私服的使用,本文主要介绍,如何与maven进行配置,在进行maven使用的时候可以自动上传至Archiva上

1、设置maven的用户配置,到maven的安装目录下/conf/setting.xml,参考以下配置修改:

1.1 认证信息就是你在仓库管理中设置的user,而在本地,需要在<servers>标签下新增<server>:

    <server>
<id>archiva.internal</id>
<username>admin</username>
<password>admin123</password>
</server> <server>
<id>archiva.snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>

1.2 设置存储镜像

    <mirror>
<id>archiva.internal</id>
<mirrorOf>internal</mirrorOf>
<name>internal</name>
<url>http://118.24.48.158:8088/repository/internal/</url>
</mirror>
<mirror>
<id>archiva.snapshots</id>
<mirrorOf>snapshots</mirrorOf>
<name>snapshots</name>
<url>http://118.24.48.158:8088/repository/snapshots/</url>
</mirror>

1.3 这里有两种方式,第一种是将私有仓库作为唯一的仓库使用(私有仓库作为远程仓库的代理使用);第二种是将私有仓库作为仓库列表中的一个使用。考虑到笔者所处的网络环境,所以选择了第二种方式 。

在<settings>标签的<profiles>下增加一个新的<profile>:

<profile>
<id>archiva.internal</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>internal</id>
<name>Archiva Managed Internal Repository</name>
<url>http://118.24.48.158:8088/repository/internal/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>internal</id>
<name>Archiva Managed Internal Repository</name>
<url>http://118.24.48.158:8088/repository/internal/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<profile>
<id>archiva.snapshots</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>snapshots</id>
<name>Archiva Managed Snapshot Repository</name>
<url>http://118.24.48.158:8088/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>snapshots</id>
<name>Archiva Managed Snapshot Repository</name>
<!--远程服务器IP-->
<url>http://118.24.48.158:8088/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>

1.4 在项目的pom.xml文件里头新增仓库

  <distributionManagement>
<repository>
<id>archiva.internal</id>
<url>http://192.168.43.45:8080/repository/internal/</url>
</repository>
<snapshotRepository>
<id>archiva.snapshots</id>
<url>http://192.168.43.45:8080/repository/snapshots/</url>
</snapshotRepository>
</distributionManagement>

注意:这里的id要和<server>中配置的id一致。

2、新建一个maven项目,参考步骤1配置相关属性,然后在控制台输入命令:

mvn clean install deploy

相关的war已经上传Archiva私服上,我们到私服看下:

附件:maven工程可以参考git:https://github.com/shawwey/testJenkins

pom参考如下:

1、internal版本存储:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.fjnx.cn</groupId>
<artifactId>testJenkins</artifactId>
<packaging>war</packaging>
<version>1.0.0</version>
<name>testJenkins Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>testJenkins</finalName>
</build>
<distributionManagement>
<repository>
<id>archiva.internal</id>
<url>http://192.168.43.45:8080/repository/internal/</url>
</repository>
<snapshotRepository>
<id>archiva.snapshots</id>
<url>http://192.168.43.45:8080/repository/snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>

2、snapshots快照版本,区别所在只是版本后面加个"-SANPSHOT"

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.fjnx.cn</groupId>
<artifactId>testJenkins</artifactId>
<packaging>war</packaging>
<version>1.0.0-SNAPSHOT</version>
<name>testJenkins Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>testJenkins</finalName>
</build>
<distributionManagement>
<repository>
<id>archiva.internal</id>
<url>http://192.168.43.45:8080/repository/internal/</url>
</repository>
<snapshotRepository>
<id>archiva.snapshots</id>
<url>http://192.168.43.45:8080/repository/snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>

done!

Archiva与maven配置使用的更多相关文章

  1. maven配置和下载

    下载链接:http://maven.apache.org/docs/ 以maven3.0.4为例,eclipse以kepler为例 环境变量的配置 1.系统变量-新建-变量名:MAVEN_HOME-变 ...

  2. Maven配置详见

    CSDN 2016博客之星评选结果公布    [系列直播]零基础学习微信小程序!      "我的2016"主题征文活动   博客的神秘功能 maven 配置详解 标签: mave ...

  3. hadoop在网页客户端的maven配置

    hadoop网页客户端maven配置,只能在tomcat7上运行,tomcat6和tomcat8运行会出错,我用的是tomcat-7.0.67 完整的pom.xml内容为: <!-- 这个配置只 ...

  4. Maven 配置 Selenium + testNG + reportNG 运行环境

    .markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(56, 58, ...

  5. maven 配置篇 之pom

    maven 配置篇 之pom.xml(一) 博客分类:  pm mavenXML配置管理项目管理junit      说完了settings.xml配置,下来说一下maven2的主要配置pom.xml ...

  6. Maven学习总结(一副本)——Maven配置和搭建

    环境准备: JDK 1.6 Maven 3.0.4 myeclipse 8.6.1 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Maven是 Apache 下的一个项目,目前最新版 ...

  7. Spark之路 --- Scala IDE Maven配置(使用开源中国的Maven库)和使用

    为什么要使用Maven 摘自百度百科的介绍 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.Maven 除了以程序构建能力为特色之外,还提 ...

  8. eclipse下使用maven配置库托管jar包

    1.项目是通过maven配置库托管jar包 首先要保证maven配置库中有相应的jar包才能通过这个方法来添加jar包.maven的有点就是把要用到的jar包统一放在一个配置库中,在某个项目需要用到这 ...

  9. Maven配置jar(war)包自动打包上传Maven服务器的配置

    Maven配置jar(war)包自动打包上传Maven服务器的配置 创建jar(war)包工程 创建一个maven工程 在工程中穿件一个测试类 配置pom.xml <distributionMa ...

随机推荐

  1. 什么是ASCII码文本文件

    标准ASCII码方式(也称文本方式)存储的文件,更确切地说,英文.数字等字符存储的是ASCII码.文本文件中除了存储文件有效字符信息(包括能用ASCII码字符表示的回车.换行等信息)外,不能存储其他任 ...

  2. PHP Fatal error: Uncaught Error: Call to undefined function pcntl_fork().. 开启php pcntl扩展实现多进程

    在使用函数pcntl_fork()时报错  Fatal error: Uncaught Error: Call to undefined function pcntl_fork()....,原因是没有 ...

  3. bzoj2733 / P3224 [HNOI2012]永无乡(并查集+线段树合并)

    [HNOI2012]永无乡 每个联通块的点集用动态开点线段树维护 并查集维护图 合并时把线段树也合并就好了. #include<iostream> #include<cstdio&g ...

  4. ELF文件分析

    (1)文件ELF.c (2)编译: gcc -c ELF_1.c -o ELF_1.o (3)显示文件类型: (4)查看大小: (5)转换为16进制 (6)显示各段信息 (7)分析

  5. Egret引擎开发基础(一)

    显示图片 var batman:egret.Bitmap = new egret.Bitmap( RES.getRes('hexo-huaheshang_png')); batman.x = 0; b ...

  6. Vim 操作命令不完全汇总

    .命令:"重复上次修改": x命令:删除光标下的字符: u命令:撤销上次修改: dd命令:删除整行: >G命令:增加从当前行到文档末尾处的层级缩进: $命令:把光标移至行尾: ...

  7. linux使用vi浏览python源码

    一.背景 2018/8/15,这一天要分析一个python项目,因此需要浏览代码,而我使用的是ubuntu 16.04,于是作此文 二.步骤 2.1 获取生成tags文件的脚本 http://svn. ...

  8. @Bean 生命周期

    bean生命周期: 实例bean 1.当调用者通过getBean(beanName)向容器请求某一个Bean时,如果容器注册了org.springframework.beans.factory.con ...

  9. HDU 2544 最短路(最短路&Floyd)题解

    思路:Floyd模板题,注意一下Floyd核心的三个循环,顺序不要变,我们不能把k放在最内层.因为Floyd是通过不断遍历查找是否有更小的两个路径拼起来能比当前小,如果k在最内层,那么我们就会提前算好 ...

  10. python之urllib2简单解析HTML页面之篇一

    一.urllib2简单获取html页面 #!/usr/bin/env python # -*- coding:utf-8 -*- import urllib2 response = urllib2.u ...