springboot~nexus項(xiàng)目打包要注意的地方示例代碼詳解
一個(gè)使用maven制作框架包時(shí),會(huì)有一個(gè)主項(xiàng)目,然后它有多個(gè)子項(xiàng)目框架組成,很少一個(gè)工具包一個(gè)工程,像springboot,springcloud都是這種結(jié)構(gòu),主項(xiàng)目用來(lái)管理一些依賴包的版本,這對(duì)于框架型項(xiàng)目來(lái)說(shuō)是很必要的,而對(duì)于業(yè)務(wù)項(xiàng)目來(lái)說(shuō),因?yàn)槟壳岸际峭扑]使用微服務(wù)的輕量方式,所以不建議用多項(xiàng)目綁定一個(gè)大項(xiàng)目的方式,而都是一個(gè)服務(wù)一個(gè)項(xiàng)目。

主pom文件
主項(xiàng)目的pom文件用來(lái)管理依賴包版本,一般在dependencyManagement節(jié)點(diǎn)去聲明它們的版本號(hào),這樣在子項(xiàng)目里可以不聲明相同包的版本信息了
<dependencyManagement>
<dependencies>
<!--spring boot 版本-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot-dependencies.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--阿里巴巴組件-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba-dependencies.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--spring cloud 版本-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Spring Boot Web 依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring-boot-dependencies.version}</version>
<exclusions>
<!-- 排除Tomcat 以使用 Undertow -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Google 編碼助手 -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<!-- Mysql 驅(qū)動(dòng) -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.drive.version}</version>
</dependency>
<!-- HikariCP 連接池 -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>${HikariCP.version}</version>
</dependency>
<!-- MyBatis 增強(qiáng)工具 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus-boot-starter.version}</version>
</dependency>
<!-- Alibaba json解析器 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<!-- 接口文檔 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox-swagger2.version}</version>
</dependency>
<!-- 接口文檔 UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${springfox-swagger2.version}</version>
</dependency>
<!-- HTTP 客戶端請(qǐng)求 -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpclient.version}</version>
</dependency>
<!-- Feign 客戶端請(qǐng)求 -->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
<version>${feign-httpclient.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
如果項(xiàng)目希望進(jìn)行發(fā)布到nexus私服上,需要配置distributionManagement節(jié)點(diǎn)的信息,它對(duì)應(yīng)你的.m2/settings.xml里的profile節(jié)點(diǎn)信息
<distributionManagement>
<repository>
<id>releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.0.203:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.0.203:8081/repository/maven-snapshots/</url>
</snapshotRepository>
使用deploy發(fā)布項(xiàng)目
第一次把工具包發(fā)到nexus時(shí),需要在點(diǎn)擊主項(xiàng)目的 deploy它會(huì)把主項(xiàng)目和其子項(xiàng)目同時(shí)發(fā)到nexus上面,后續(xù)可以只deploy修改的項(xiàng)目

在具體項(xiàng)目里使用它
直接在項(xiàng)目的pom里,添加對(duì)應(yīng)的工具包即可,工具包的項(xiàng)目依賴你不需要關(guān)心
<dependency>
<groupId>com.lind</groupId>
<artifactId>lind-common</artifactId>
<version>${lind-common.version}</version>
</dependency>
注意:對(duì)于框架型項(xiàng)目,需要保存你的工具包依賴的項(xiàng)目也在nexus上面,否則會(huì)導(dǎo)致加載失敗。
到此這篇關(guān)于springboot~nexus項(xiàng)目打包要注意的地方的文章就介紹到這了,更多相關(guān)springboot nexus項(xiàng)目打包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一篇文章帶你學(xué)習(xí)JAVA MyBatis底層原理
近來(lái)想寫一個(gè)mybatis的分頁(yè)插件,但是在寫插件之前肯定要了解一下mybatis具體的工作原理吧,本文就詳細(xì)總結(jié)了MyBatis工作原理,,需要的朋友可以參考下2021-09-09
MyBatis更新時(shí)新值為null時(shí),updateById()更新失敗問(wèn)題
這篇文章主要介紹了MyBatis更新時(shí)新值為null時(shí),updateById()更新失敗問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
Java實(shí)戰(zhàn)角色權(quán)限后臺(tái)腳手架系統(tǒng)的實(shí)現(xiàn)流程
只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+Springboot+Maven+myBaits-Plus+Vue+Element-UI+Mysql實(shí)現(xiàn)一個(gè)角色權(quán)限后臺(tái)腳手架系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2022-01-01
Java 實(shí)現(xiàn)Redis存儲(chǔ)復(fù)雜json格式數(shù)據(jù)并返回給前端
這篇文章主要介紹了Java 實(shí)現(xiàn)Redis存儲(chǔ)復(fù)雜json格式數(shù)據(jù)并返回給前端操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
Springboot中使用Redis實(shí)現(xiàn)分布式鎖的示例代碼
在分布式系統(tǒng)中,為了保證數(shù)據(jù)的一致性和任務(wù)的互斥執(zhí)行,分布式鎖是一種常見(jiàn)的解決方案,本文主要介紹了Springboot中使用Redis實(shí)現(xiàn)分布式鎖的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05

