SpringBoot實(shí)現(xiàn)在一個(gè)模塊中引入另一個(gè)模塊
SpringBoot在一個(gè)模塊中引入另一個(gè)模塊
實(shí)例:
springBoot中有cms_dev項(xiàng)目,下面有ai模塊和dms模塊,而且ai模塊中沒(méi)有啟動(dòng)類,需要將ai引入到dms模塊中。
解決方案
1、在需要調(diào)用的模塊的pom文件中添加被調(diào)用模塊的依賴,也就是在dms模塊的pom.xml中去添加ai的依賴
<dependencies> <dependency> <groupId>com.dms</groupId> <artifactId>ai</artifactId> <version>v1</version> </dependency> </dependencies> ```/
2、清除每個(gè)模塊的緩存
3、啟動(dòng)dms模塊,然后就可以去調(diào)用ai模塊中的接口了。
SpringBoot多模塊之間引用報(bào)錯(cuò)問(wèn)題
困擾了半個(gè)下午的問(wèn)題,springboot多模塊之間引用,直接運(yùn)行都是ok的,依賴包里也有,但是編譯時(shí)就是報(bào)錯(cuò)。
項(xiàng)目結(jié)構(gòu)如下
parent(父類工程)
|
| - - - - - common(通用工具類子工程)
|
| - - - - - projectA(springboot子工程,依賴common工程)
|
pom.xml
問(wèn)題描述
通過(guò)parent父工程進(jìn)行Maven install,parent父工程和common子工程打包成功,projectA子工程打包失敗并報(bào)錯(cuò)
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project projectA: Compilation failure
[ERROR] /xxxx.java:[14,36] 程序包c(diǎn)om.xxx.xxx.utils不存在
注意:就算projectA能打包成功,運(yùn)行后調(diào)用,也會(huì)報(bào)common下的類找不到異常,為同一問(wèn)題
關(guān)鍵錯(cuò)誤信息截圖:
解決方案
在common子工程下的pom.xml,添加以下配置
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <classifier>exec</classifier> </configuration> </plugin> </plugins> </build>
原因分析
common也是SpringBoot工程,SpringBoot工程打包編譯時(shí),會(huì)生成兩種jar包,一種是普通的jar,另一種是可執(zhí)行jar。
默認(rèn)情況下,這兩種jar的名稱相同,在不做配置的情況下,普通的jar先生成,可執(zhí)行jar后生成,造成可執(zhí)行jar會(huì)覆蓋普通的jar。
而projectA工程無(wú)法依賴common工程的可執(zhí)行jar,所以編譯失敗:程序包xxx不存在。
添加配置后截圖如下,其中common-1.0-SNAPSHOT-exec.jar為可執(zhí)行jar,common-1.0-SNAPSHOT.jar為普通jar包。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java版微信公眾平臺(tái)消息接口應(yīng)用示例
這篇文章主要介紹了java版微信公眾平臺(tái)消息接口應(yīng)用,結(jié)合實(shí)例形式對(duì)比分析了PHP與java應(yīng)用微信公眾平臺(tái)接口的相關(guān)調(diào)用與操作技巧,需要的朋友可以參考下2017-07-07詳解java接口(interface)在不同JDK版本中的變化
這篇文章主要介紹了詳解java接口(interface)在不同JDK版本中的變化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02SpringBoot引入Redis報(bào)org.springframework.data.redis.core.RedisT
這篇文章主要介紹了SpringBoot引入Redis報(bào)org.springframework.data.redis.core.RedisTemplate類找不到錯(cuò)誤問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-09-09java實(shí)現(xiàn)簡(jiǎn)單聊天室單人版
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單聊天室的單人版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07java面向?qū)ο蟮娜筇匦灾焕^承用法實(shí)例分析
這篇文章主要介紹了java面向?qū)ο蟮娜筇匦灾焕^承用法,結(jié)合實(shí)例形式分析了java面向?qū)ο蟪绦蛟O(shè)計(jì)中繼承的基本原理與具體使用方法,需要的朋友可以參考下2019-11-11java實(shí)現(xiàn)輸出字符串中第一個(gè)出現(xiàn)不重復(fù)的字符詳解
這篇文章主要介紹了java實(shí)現(xiàn)輸出字符串中第一個(gè)出現(xiàn)不重復(fù)的字符詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04