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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot 多模块与 Maven 私有仓库

發布時間:2025/3/21 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot 多模块与 Maven 私有仓库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

前言

系統復雜了,抽離單一職責的模塊幾乎是必須的;若需維護多個項目,抽離公用包上傳私有倉庫管理也幾乎是必須的。其優點無需贅述,以下將記錄操作過程。

1. 多模塊拆分

在.NET 中由于其統一性,實現上更自然一點。Spring Boot 通過 Maven 構建多模塊工程也不麻煩,假如我的項目中包含以下幾個包:

我需要將他們分別拆分成獨立模塊,首先要修改的是根目錄下的 pom.xml,packaging 類型改為 pom,并添加 modules 節點:

<?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>com.youclk.multi-package</groupId><artifactId>parent</artifactId><version>0.0.1-SNAPSHOT</version><modules><module>api</module><module>service</module><module>dao</module></modules><packaging>pom</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.10.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><lombok>1.16.20</lombok></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok}</version></dependency></dependencies></project>

之后新建一個個 Module,將對應的代碼移植過去:

需要注意的是在啟動模塊的 pom.xml 中需要指定啟動類:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><mainClass>com.youclk.multipackage.api.MultiApplication</mainClass><layout>ZIP</layout></configuration></plugin></plugins> </build>

統一升級版本命令:mvn versions:set -DnewVersion=0.0.1-SNAPSHOT,到此差不多完成了,引用方式與普通的依賴包一致:

<dependency><groupId>com.youclk.multi-package</groupId><artifactId>service</artifactId><version>0.0.1-SNAPSHOT</version> </dependency>

2. Nexus3 私有倉庫搭建

Docker 時代一切都變得異常簡單,Compose 配置如下:

version: '3.5'services:nexus:image: sonatype/nexus3:3.10.0networks:- proxy- youclkvolumes:- /mnt/nas/db/nexus-data:/nexus-datadeploy:mode: replicatedlabels:- com.df.notify=true- com.df.port=8081- com.df.serviceDomain=nexus.youclk.comrestart_policy:condition: anymax_attempts: 3update_config:delay: 5sorder: start-firstresources:limits:cpus: '0.50'memory: 1gnetworks:proxy:external: trueyouclk:external: true

啟動過程需要一分鐘左右:

需要注意的是如果你的 ssl 是在負載均衡或者其他的反向代理之上,那么必須在 HTTP 頭中指定 X-Forwarded-Proto 傳輸協議為 HTTPS,然后,就可以愉快地玩耍了。

3. 上傳與引用

3.1 上傳

首先需要在 Nexus 創建私有倉庫,例如我的:

其次在本地 maven 設置中添加 server 節點,默認在 ~/.m2/settings.xml:

<servers><server> <id>youclk</id> <username>admin</username><password>youclk</password> </server> </servers>

pom.xml 中添加上傳地址:

<distributionManagement><repository><id>nexus</id><name>Releases Repository</name><url>https://nexus.youclk.com/repository/youclk-releases/</url></repository><snapshotRepository><id>nexus</id><name>Snapshot Repository</name><url>https://nexus.youclk.com/repository/youclk-snapshots/</url></snapshotRepository> </distributionManagement>

最后執行 mvn clean deploy 便會上傳至私有倉庫,單獨傳包命令如下:

mvn deploy:deploy-file -DgroupId=com.youclk -DartifactId=utils -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar -Dfile=target/utils-0.0.1-SNAPSHOT.jar -Durl=https://nexus.youclk.com/repository/youclk/ -DrepositoryId=youclk

管理和查看:

3.1 引用

Finally,最后的最后就是怎么使用啦~ 如果需要全局引用的話需要在 settings.xml 添加和激活倉庫:

<?xml version="1.0" encoding="UTF-8"?> <settings><mirrors> <mirror><id>aliyun</id><mirrorOf>central</mirrorOf><name>central mirror</name><url>http://maven.aliyun.com/mvn/repository</url></mirror><mirror><id>nexus</id><mirrorOf>maven-public</mirrorOf><name>private mirror</name><url>http://local-nexus.youclk.com/repository/maven-public/</url></mirror></mirrors> <servers><server> <id>nexus</id> <username>admin</username><password>youclk</password> </server></servers><profiles> <profile> <id>nexus</id> <repositories> <repository> <id>maven</id> <name>local private nexus</name> <url>http://local-nexus.youclk.com/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>maven</id> <name>local private nexus</name> <url>http://local-nexus.youclk.com/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile></profiles> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles> </settings>

不過一般不推薦這么寫,settings.xml 應該盡可能保持簡潔,精簡配置,此處留下代理和權限認證即可,其余的可以移植到 pom.xml 中:

<repositories><repository><id>aliyun</id><url>http://maven.aliyun.com/nexus/content/groups/public/</url></repository><repository><id>nexus</id><url>http://local-nexus.youclk.com/repository/maven-public/</url></repository> </repositories> <pluginRepositories><pluginRepository><id>central</id><url>http://maven.aliyun.com/nexus/content/groups/public/</url></pluginRepository><pluginRepository><id>maven-public</id><url>http://local-nexus.youclk.com/repository/maven-public/</url></pluginRepository> </pluginRepositories>

轉載于:https://my.oschina.net/u/3721254/blog/1806857

總結

以上是生活随笔為你收集整理的Spring Boot 多模块与 Maven 私有仓库的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲av无码乱码国产精品久久 | 亚洲一区二区免费电影 | 噼里啪啦免费看 | 日韩一区二区三区免费视频 | 艳妇臀荡乳欲伦交换电影 | 欧美日韩1区2区3区 亚洲日本精品视频 | 亚洲美女网站 | av中文网站 | 高清国产一区二区三区 | 国产精品免费一区二区三区在线观看 | 在线电影一区二区三区 | 无码人妻丰满熟妇啪啪 | 免费av网址在线观看 | 日韩不卡在线 | 精品视频免费播放 | 最新激情网站 | 日本网站黄色 | 嫩草影院一区 | 黄色小视频在线 | 无码免费一区二区三区 | h视频免费在线观看 | 毛片在线视频 | 天堂资源中文在线 | 这里只有精品在线观看 | 久久久久久久久久影院 | 日韩久久网 | 日本在线高清视频 | 草草视频在线播放 | 秋霞午夜鲁丝一区二区老狼 | 欧美成人吸奶水做爰 | 性xxxx欧美| 碰在线视频 | 国产精品女教师 | 男男肉耽高h彩漫 | 激情六月天婷婷 | 国产精品自拍视频一区 | 国产亚洲精品成人无码精品网站 | 国产露脸91国语对白 | 亚洲一区二区视频 | 销魂美女一区二区 | 国产一区欧美一区 | 亚洲中文字幕在线观看 | 男人操女人的软件 | 在线观看国产精品视频 | 亚洲人人干 | 操丝袜少妇 | 91极品在线 | 一级少妇精品久久久久久久 | 久久久久久一 | 青青在线观看视频 | 黑人玩弄人妻一区二区三区四 | 欧美成人另类 | 在线亚洲综合 | 日本69熟| 一二级毛片 | jiz亚洲| 在线免费看mv的网站入口 | 操你啦在线视频 | 好爽…又高潮了毛片免费看 | 国产精彩视频在线观看 | 日本综合色 | 97久久人人 | 色婷婷国产 | 亚洲av无码国产在丝袜线观看 | 伊人加勒比| 日韩偷拍一区 | 日韩制服诱惑 | 爱爱小视频网站 | 天天爽夜夜春 | 欧美性白人极品1819hd | 日韩视频福利 | 免费久久久久久 | ,亚洲人成毛片在线播放 | 欧美影院一区二区三区 | 日韩在线免费av | 玩偶姐姐在线看 | 午夜精品美女久久久久av福利 | 91丝袜呻吟高潮美腿白嫩在线观看 | 三级三级久久三级久久 | 九草av| 天天做天天爱夜夜爽 | 国产黄色一级片视频 | 国产毛片3 | www.555国产精品免费 | 熟女俱乐部一区二区视频在线 | 无码人妻精品一区二区三区99v | 日本东京热一区二区 | 欧美极品一区 | 你懂的av在线 | 国产欧美日韩精品一区二区三区 | 久久影视网 | 91亚瑟| 亚洲精品777 | 日韩福利在线观看 | 国产欧美视频一区 | 国产精品久久久久久久久久 | 久久精品久久精品久久精品 | 国产又粗又猛又爽又黄视频 | 精品国产伦一区二区三区 |