(轉)SpringBoot項目打包時提示“程序包xxx不存在,找不到符號”解決辦法(已解決)


https://blog.csdn.net/weixin_46053707/article/details/104623641?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

SpringBoot項目打包時提示“程序包xxx不存在,找不到符號”解決辦法(已解決)
項目結構:

xxx-parent:頂級父工程

xxx-a:子項目1

xxx-b:子項目2

xxx-c:子項目3

如圖:

 

 

 


問題場景:
在運行引導類的時候,一直提示“程序包xxx不存在,找不到符號”

原因分析:
原來是springboot自身的編譯插件spring-boot-maven-plugin導致的。

1 <build>
2     <plugins>
3         <plugin>
4             <groupId>org.springframework.boot</groupId>
5             <artifactId>spring-boot-maven-plugin</artifactId>
6         </plugin>
7     </plugins>
8 </build>

 


如上,就是springboot的maven插件,用這個插件打包的Jar包可以直接運行,但是不可依賴!

解決方案(三選一):
1、(推薦) 不要將此插件放到頂級父工程中,在需要打成可執行jar的地方添加就好了,如果是需要被依賴的,就不要添加此插件(如上述案例中,就是xxx-a、xxx-b不加,xxx-c需要加);

SpringBoot項目運行引導類時候出現此類問題一般刪除此依賴,在maven中clear一下項目再install一下就能解決

2、 在需要對外提供依賴的項目的pom里設置(如本項目的xxx-a、xxx-b),這樣設置會讓項目生成兩個jar:一個可執行jar,一個可依賴的jar;

 1 <build>
 2     <plugins>
 3         <plugin>
 4             <groupId>org.springframework.boot</groupId>
 5             <artifactId>spring-boot-maven-plugin</artifactId>
 6             <configuration>
 7                 <!-- 生成可執行的jar的名字:xxx-exec.jar -->
 8                 <!-- 不固定,寫成abcd都可以 -->
 9                 <classifier>exec</classifier>
10             </configuration>
11         </plugin>
12     </plugins>
13 </build>

 


3、在configuration中加入skip標簽,取消生成可執行jar;

 1 <build>
 2     <plugins>
 3         <plugin>
 4             <groupId>org.springframework.boot</groupId>
 5             <artifactId>spring-boot-maven-plugin</artifactId>
 6             <configuration>
 7                 <skip>true</skip>
 8             </configuration>
 9         </plugin>
10     </plugins>
11 </build>

 

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM