SpringBoot實(shí)現(xiàn)在一個(gè)模塊中引入另一個(gè)模塊
SpringBoot在一個(gè)模塊中引入另一個(gè)模塊
實(shí)例:
springBoot中有cms_dev項(xiàng)目,下面有ai模塊和dms模塊,而且ai模塊中沒有啟動(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ò)問題
困擾了半個(gè)下午的問題,springboot多模塊之間引用,直接運(yùn)行都是ok的,依賴包里也有,但是編譯時(shí)就是報(bào)錯(cuò)。
項(xiàng)目結(jié)構(gòu)如下
parent(父類工程)
|
| - - - - - common(通用工具類子工程)
|
| - - - - - projectA(springboot子工程,依賴common工程)
|
pom.xml
問題描述
通過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下的類找不到異常,為同一問題
關(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工程無法依賴common工程的可執(zhí)行jar,所以編譯失?。撼绦虬黿xx不存在。
添加配置后截圖如下,其中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版本中的變化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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ò)誤問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-09-09java面向?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