maven本地構件分發到遠端倉庫
Maven - 使用distributionManagement
分發構件到倉庫repositories
稍微大一點的專案開發過過程中都會誕生各種各樣的輪子元件,通過Maven的包管理功能可以很方便的在專案pom.xml
中對這些輪子元件進行依賴管理。
本地除錯的時候可以直接mvn install
將元件安裝到本地的Maven倉庫中,即.m2
檔案目錄中,但是本地Maven倉庫中的元件只能供當前使用者使用,要將元件安裝到區域網或者公網的遠端Maven倉庫中才能讓大家都訪問到。修改.m2
目錄下面的settings.xml
和當前專案中的pom.xml
配置後,再使用mvn deploy
命令可將元件安裝到遠端Maven倉庫。
1.首先是修改.m2
目錄中的settings.xml
,新增servers
相關配置,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<mirrors>
...
</mirrors>
<profiles>
...
</profiles>
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>password</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>password</password>
</server>
</servers>
</settings
2.接下來是修改需要被分發到遠端倉庫的專案中的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">
<properties>
...
</properties>
<dependencies>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
<distributionManagement>
<repository>
<id>releases</id>
<url>http://your-domain-name/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://your-domain-name/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
3.然後是到專案所在目錄命令列執行 mvn deploy
即可把本地元件分發到遠端倉庫上去供其他人使用了。
當然,前提是你已經配置好了自己的nexus
私服 :)
4.最後在需要依賴該元件的專案的pom.xml
裡面像新增其他開源第三方元件一樣新增自己的元件就開源了!
<dependencies>
<!-- jsonrpc4j -->
<dependency>
<groupId>com.github.briandilley.jsonrpc4j</groupId>
<artifactId>jsonrpc4j</artifactId>
<version>${jsonrpc4j.version}</version>
</dependency>
<dependency>
<groupId>your-groupId</groupId>
<artifactId>your-artifactId</artifactId>
<version>version</version>
</dependency>
</dependencies>
PS. 其實也可以將
settings.xml
中的server
認證資訊放到pom.xml
中,但是一般pom.xml是其他人可見的,而settings.xml是自己本地才知道的,為了資訊保安就放settings.xml裡面了。
相關文章
- Maven部署構件至遠端倉庫Maven
- Maven推送本地jar包到遠端私有倉庫配置MavenJAR
- git 本地push到遠端倉庫Git
- Maven遠端倉庫的配置Maven
- git本地倉庫關聯遠端倉庫Git
- 新增jar包到本地Maven倉庫JARMaven
- Maven遠端倉庫的認證Maven
- git 修改本地倉庫的遠端倉庫地址Git
- 釋出構件到 Maven 中央倉庫遇到的坑Maven
- maven安裝jar包到本地倉庫MavenJAR
- 本地倉庫推送到遠端倉庫的git操作Git
- git 從遠端倉庫指定分支clone程式碼到本地Git
- 使用Github搭建Maven私有遠端倉庫GithubMaven
- Maven deploy部署jar包到遠端私倉MavenJAR
- git push到遠端倉庫Git
- 如何在本地克隆遠端github倉庫Github
- 用命令將本地jar包匯入到本地maven倉庫JARMaven
- Maven-修改maven本地倉庫地址Maven
- maven 將本地jar打入本地倉庫MavenJAR
- maven 建立本地倉庫Maven
- maven遠端倉庫配置及含義解釋Maven
- maven本地倉庫安裝jarMavenJAR
- 配置maven 的阿里雲遠端倉庫(國內)Maven阿里
- git倉庫修改遠端倉庫Git
- 使用Nexus搭建Maven本地倉庫Maven
- 將本地專案推送到遠端git新倉庫Git
- git push 到遠端倉庫提示Permission deniedGit
- git 上傳程式碼到遠端倉庫Git
- git 遠端倉庫Git
- 建立你自己的本地倉庫(Maven倉庫管理-Nexus)Maven
- MAVEN新增本地倉庫和注意事項!Maven
- 處理Maven本地倉庫.lastUpdated檔案MavenAST
- maven配置阿里雲及本地倉庫Maven阿里
- 推送標籤到遠端倉庫的步驟
- 遠端資料庫AWR 匯入到本地分析資料庫
- idea開發工具配置git,連線到gitee遠端倉庫IdeaGitee
- Git 使用遠端倉庫Git
- git-遠端倉庫Git