這個問題整了好久,終於是整明白了:
別人的博客已經講的很清楚了,我就不囉嗦了:
修改方法:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
</configuration>
</plugin>
</plugins>
</build>
原因:
SpringBoot工程打包編譯時,會生成兩種jar包,一種是普通的jar,另一種是可執行jar。
默認情況下,這兩種jar的名稱相同,在不做配置的情況下,普通的jar先生成,可執行jar後生成,造成可執行jar會覆蓋普通的jar。而projectA工程無法依賴common工程的可執行jar,所以編譯失敗:程序包xxx不存在。
添加配置後截圖如下,其中common-1.0-SNAPSHOT-exec.jar爲可執行jar,common-1.0-SNAPSHOT.jar爲普通jar包。
多多學習:https://blog.csdn.net/guduyishuai/article/details/60968728
https://blog.csdn.net/github_39325328/article/details/85093007