1 . 私服简介

  私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。

无私服的情况

有私服的情况

我们可以使用专门的 Maven 仓库管理软件来搭建私服,比如:Apache Archiva,Artifactory,Sonatype Nexus。之前我们接触比较多的是Sonatyp Nexus,今天主要介绍Apache Archiva的使用。

2、安装使用

1) 首先到archiva主页上下载最新版(Archiva 2.2.1 Standalone)

http://archiva.apache.org/download.cgi

2)下载后解压,如(E:\Program Files\apache-archiva-2.2.1)

3)配置jdk,jdk 版本在1.7 以上

4)启动服务

也可以使用管理员身份运行cmd,进入 archiva 安装路径bin 目录,执行 archiva.bat console ,启动时的日志信息将会输出在 控制台上。

5)第一次访问,在浏览器上输入 http://localhost:8080/#welcome,进入到GUI界面,第一次需要输入用户名,密码,然后点击创建。(密码必须有大写字母和数字,长度不低于8位)

6)默认的Repository

登入后,左侧Administration栏列出了所有常用配置。

点击Reposoitory会看到archiva自带的默认internal repository 和 remote repository

internal repository表示Archive本地的repository,remote repository代表远程的repository。

当maven连接到Archiva的internal repository时,Archiva会先从本地寻找目标,找不到的话再从remote repository上继续寻找。

7) 配置文件结构

以下是几个常用的配置文件目录

%ARCHIVA_HOME%/data 数据文件根目录

%ARCHIVA_HOME%/data/database 里配置了数据库文件,包括用户数据库和系统数据库

%ARCHIVA_HOME%/data/repositories 包含索引信息。如果上传了jar等文件的话,也会保存在这里。

%ARCHIVA_HOME%/logs 存放log文件。

使用手册可参考:http://archiva.apache.org/docs/2.2.1/

8)使用的时候:设置开发者终端的[maven_home]/conf/setting.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><pluginGroups></pluginGroups><proxies></proxies><servers><server><id>archiva-releases</id><username>admin</username><password>admin123</password></server><server><id>archiva-snapshots</id><username>admin</username><password>admin123</password></server></servers><mirrors><mirror> <id>archiva-releases</id> <mirrorOf>internal</mirrorOf> <url>http://localhost:8080/repository/internal</url> </mirror><mirror> <id>archiva-snapshots</id><mirrorOf>snapshots</mirrorOf> <url>http://localhost:8080/repository/snapshots</url> </mirror></mirrors><profiles><profile><activation><activeByDefault>true</activeByDefault></activation><repositories><repository><id>internal</id><name>Archiva Managed Internal Repository</name><url>http://localhost:8080/repository/internal</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></repository><repository><id>snapshots</id><name>Archiva Managed Snapshots Repository</name><url>http://localhost:8080/repository/snapshots</url><releases><enabled>false</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile></profiles>
</settings>

设置项目pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>io.github.redexpress</groupId><artifactId>demo</artifactId><version>1.0</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies><distributionManagement><repository><id>archiva-releases</id><url>http://localhost:8080/repository/internal</url><uniqueVersion>true</uniqueVersion></repository><snapshotRepository><id>archiva-snapshots</id><url>http://localhost:8080/repository/snapshots</url></snapshotRepository></distributionManagement>
</project>

传自定义jar包至maven私服:使用mvn deploy可以上传到maven私服

mvn deploy:deploy-file -Dfile=model-3.0.0-SNAPSHOT.jar -DrepositoryId=archiva.internal -DgroupId=com.xxx.xxx -DartifactId=model -Dversion=3.0.0-SNAPSHOT  -Durl=http://192.168.1.99:8080/repository/internal/

转载于:https://www.cnblogs.com/shawWey/p/10431952.html

使用Apache Archiva管理Maven仓库相关推荐

  1. Apache Archiva搭建Maven私人服务器

    Apache Archiva搭建Maven私人服务器 1. 下载 Archiva安装包 2. 安装archiva服务器 3. 启动服务器 4. 将 archiva 在 CentOS 中安装成服务 5. ...

  2. 使用Apache Archiva搭建Maven Repository Server

    经过这两天的研究,对比Sonatype Nexus 和 Apache Archiva,觉得Apache Archiva还不错,配置简单,好用. 以下是配置Apache Archiva的具体步骤 Apa ...

  3. 使用Nexus搭建Maven仓库私服的权限配置心得

    最近在学习Maven,学习到使用Nexus搭建私服,通过Nexus的权限机制可以实现较细粒度的权限控制,这对组织内部的团队开发很有帮助.通过实验,我总结了以下一些经验,可以实现一些权限控制的需求,在此 ...

  4. 用Artifactory管理内部Maven仓库

    http://forearrow.iteye.com/blog/171385 1. 介绍 Maven是Java开发者中流行的构建工具,Maven的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的 ...

  5. eclipse maven打包_自动化管理项目,Maven仓库配置、安装和使用

    一. Maven有什么作用? 1.让maven仓库自动帮你下载jar包 maven项目会有一个 pom.xml文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应jar包,不用你铺天盖地 ...

  6. 史上最详细的maven仓库详解

    写在前面: 我是「沸羊羊_」,昵称来自于姓名的缩写 fyy ,之前呕心沥血经营的博客因手残意外注销,现经营此账号. 本人是个小菜,正向着全栈工程师的方向努力着,文章可能并不高产,也很基础,但每写一篇都 ...

  7. 巧用 GitHub 创建自己的私人 Maven 仓库,及一些开发Library的建议

    由于本人精力有限,如果内容有更新可能无法及时更新其他渠道的内容,请移步简书 查看文章 2014年中的时候,当时国内使用 Android Studio 的人还没有很多,很多人还没处理尝鲜的时候我开始把公 ...

  8. [转]Maven如何手动添加jar包到本地Maven仓库

     Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供.基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项 ...

  9. Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包

    转载博客:http://quicker.iteye.com/blog/2319947 有关MAVEN仓库的理解参见:http://blog.csdn.net/wanghantong/article/d ...

最新文章

  1. java.security.InvalidKeyException: Illegal key size or default parameters
  2. Java数据库连接(JDBC)之二:Statement对象和PreparedStatement对象的使用
  3. 题目1063:整数和
  4. 大数据笔记11:MapReduce的运行流程
  5. php检查函数是否存在,php判断类是否存在函数class_exists用法分析
  6. UVA10004 Bicoloring【DFS】
  7. 现代软件工程——第一周博客作业
  8. 在网站中使用谷歌“ROBOTO”字体(解决ios数字1和0大小不等宽问题)
  9. iOS中block的详解weakSelf、strongSelf-转自唐巧
  10. 对话阿里云张建锋:云计算正在内卷吗?丨钛度专访
  11. 微信开发获取昵称乱码 emoji表情
  12. 用TTreeview实现的一个通讯录的组别设置,
  13. matlab求二阶微分方程的通解,二阶常微分方程matlab的数值解和解析解分析总报告.ppt...
  14. 经典小游戏(密室逃脱全集+答案)
  15. Oracle组织架构
  16. 静电浪涌防护:TVS
  17. 快来报名啦 | 图灵奖得主—— Joseph Sifakis明日重磅开讲
  18. Cloudxns倒下,7月17日关闭域名解析,解析任务交给谁?
  19. 当我不再依赖你的时候说说_关于依赖一个人的说说
  20. 红蜻蜓抓图精灵 网页截图 ,Ctrl+Shift+C

热门文章

  1. nagios中自己写的监控mysql主从复制的插件
  2. 不同配置决定不同的复制的流程
  3. OpenCV 图像平移
  4. emq认证mysql后如何使用_emq服务器开启mysql验证教程
  5. Php7安装pdo_pgsql,pgsql扩展
  6. 062_判断用户输入的是 Yes 或 NO
  7. 2018-2019-1 20165337 《信息安全系统设计基础》第一周学习总结
  8. 你知道element中el-table的列名中不能含有 . 吗?
  9. 『Python』VS2015编译源码注意事项
  10. SonarQube代码质量管理工具安装与使用(sonarqube5.1.2 + sonar-runner-dist-2.4 + MySQL5.x)