欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

使用Apache Archiva管理Maven仓库

发布时间:2025/5/22 编程问答 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 使用Apache Archiva管理Maven仓库 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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仓库的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。