1. 程式人生 > 其它 >springboot多模組打包錯誤:Process terminated;Unable to find main class

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>