日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

编程问答

使用Apache Archiva管理Maven仓库

發布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用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仓库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。