springboot多模塊打包錯誤:Process terminated;Unable to find main class


這種錯誤有許多可能的錯誤之處,我的是因為:

  

我的項目結構目錄(有三級):

 

    |---父項目

                    |---子模塊

                          |---子子模塊

 

  當我在創建子模塊下的某個子子模塊時,第一次創建就照常右擊子模塊,選擇新建模塊,寫好新建的子子模塊的名字后點擊確定,發現剛創建的這個子子模塊和子模塊同目錄(也就是它也在父項目下,和子模塊同一等級)就像這樣:

    |---父項目

                    |---子模塊

                    |---子模塊

 

  這肯定不行啊,這哪是創建子子模塊,很明顯我這是又創建了一個子模塊,事與願違,於是我就刪了這個剛創建失敗的模塊,想重新在子模塊下創建一個子子模塊。於是就再右擊子模塊選擇新建模塊,可創建完后發現還是和子模塊在同一層級下:

    |---父項目

                    |---子模塊

                    |---子模塊

 

后來經過詢問后發現:

原來是在新建一個model時,Location寫的不對,沒有分層(當時創建的時候不知道為什么不是這種分級路徑,可能是idea沒反應過來吧):

 

 

 看到了嗎,parent是父項目、service是子模塊、“子子門模塊”就是我們要創建第三級模塊也就是子子模塊。

按照這種層級創建層能成功創建出三級模塊:

    |---父項目

                    |---子模塊

                          |---子子模塊

 

 

 

 

但是

當我運行測試代碼的時候項目打包出錯:(由於報的錯沒有詳細記錄) 其中有這個提示:

 

[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:...repackage failed: Unable to find main class

 

控制台就兩個紅色單詞:

Process terminated;

 

 

怎么解決?

還記得之前創建的那個子子目錄嗎?

要知道,每次創建模塊,它都會在他的上一級的pom文件中自動生成這個東西,來標識該模塊:

<modules>
<module>service</module>
   <module>子子模塊</module>
</modules>

由於我創建失敗的子子模塊不在子模塊下,而是在父項目下,與子模塊同級,所以它會在父項目的pom文件中出現上面的那個標識:
<module>子子模塊</module>
我們把這個模塊去掉就行了,讓父項目下只有子模塊的module標識就行了:

<modules>
<module>service</module>
</modules>


不是吧!!!
上面的東西改好后,我運行test測試里面的程序還是報錯:
spring-boot-maven-plugin:2.5.3:repackage failed: Unable to find main class

沒辦法那就接着造唄。


去網上搜了許多這種錯誤的解決方案,終於找到了:

該博客地址:https://www.dandelioncloud.cn/article/details/1370378236395646978

這個博客的解決方式也很簡單:
解決方式:
不使用springboot的maven插件,改為使用普通的maven插件,使用springboot的maven插件意味着每個模塊都需要有啟動類,而使用普通的插件則不需要。
    <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.6</source>
                        <target>1.6</target>
                        <encoding>${project.build.sourceEncoding}</encoding>
                    </configuration>
                </plugin>
            </plugins>
     </build>


我把上面的一段配置替換掉之前父項目中的<build>配置后,再次打包運行果然好了。
很顯然,當我們創建多個模塊的時候,就會容易遇到這種錯誤,不過只要我們多多總結,多多思考做好筆記,就會....










 


免責聲明!

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



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