springboot~mvn多個(gè)關(guān)聯(lián)項(xiàng)目打包問題
使用maven進(jìn)行構(gòu)建項(xiàng)目時(shí),有時(shí)會(huì)把公共對(duì)象和方法抽象在一個(gè)common公用項(xiàng)目里,而其它項(xiàng)目直接依賴它即可,而在common項(xiàng)目配置需要注意一下,因?yàn)閟pringboot生成的jar默認(rèn)是可執(zhí)行的jar包,所以在其它子項(xiàng)目編譯時(shí),會(huì)因?yàn)橐胏ommon失敗而導(dǎo)致當(dāng)前項(xiàng)目不能成功編譯,而只能去根項(xiàng)目進(jìn)行mvn install來可以,這事實(shí)上很麻煩,所以今天主要解決一下這個(gè)問題。
編譯出現(xiàn)的錯(cuò)誤
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project projectA: Compilation failure
解決方案
如果你的common里的main入口方法時(shí)
在common項(xiàng)目的pom.xml里添加如下配置
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--供其它項(xiàng)目依賴的,不可執(zhí)行的Jar包中 -->
</goals>
</execution>
</executions>
</plugin>
</plugins>
如果你的common里沒有main方法,只是一些類庫時(shí)
可以把plugin刪除掉,然后在common里不要引用過類的包,應(yīng)該在業(yè)務(wù)項(xiàng)目里引用這些包,否則會(huì)有包找不到情況
再進(jìn)行編譯,問題解決!
浙公網(wǎng)安備 33010602011771號(hào)