1. 程式人生 > 程式設計 >詳解Maven專案Dependencies常見報錯及解決方案

詳解Maven專案Dependencies常見報錯及解決方案

個人最近專案中所遇到的問題,記錄下便自己和同樣遇到問題的小夥伴提供一個參考。

通常Maven裡報紅波浪線的常見問題

①可能是子工程沒有繼承父工程

注意父工程中有中對應的module:

<groupId>com.fred.parent</groupId>
<artifactId>mall</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
    <module>fred-api</module>
</modules>

注意子工程中有對應的parent:

<parent>
    <groupId>com.fred.parent</groupId>
    <artifactId>mall</artifactId>
    <version>1.0-SNAPSHOT</version>
 </parent>
 <artifactId>fred-api</artifactId>

②可能是導包智慧提示一回車導致導錯了包

例如:
父工程:

<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud-dependencies.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
</dependencyManagement>

子工程:

<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-cloud-starter-eureka</artifactId>
   </dependency>
</dependencies>

注意看groupId,父工程是org.springframework.cloud,而子工程是org.springframework.boot,這種情況Maven會因為找不到要匯入的包而導致MavenDependencies

報紅波浪線,但是在pom.xml檔案中卻不報錯,並且顯示正常,此時這種簡單而又不容易找到的錯誤,毫不誇張的說還真能讓人找個一天半天的。

③Maven構建本身問題

有時候怎麼查都沒問題,並且確定pom.xml是沒問題的,而且Reimport All Maven ProjectsGenerate Sources and Update Folders For All Projects都沒用。這個時候一般都是Maven本身的Bug了。你把出錯的專案下的pom.xml檔案中的dependencies剪下掉(Ctrl+X),然後再儲存(Ctrl+S),再撤回(Ctrl+Z),再儲存(Ctrl+S),Reimport All Maven ProjectsGenerate Sources and Update Folders For All Projects一下,你會發現紅色波浪線消失啦。至於問題的根本原因我也不是很清楚。

④Maven專案顯示灰色導致其他專案由於缺包型別無法使用

如圖中所示:

Maven專案顯示灰色

這是由於被Maven忽略了。

通過Settings->Build->Maven->Ignored Files中

去掉這個√

去掉這個√,Apply即可。

到此這篇關於詳解Maven專案Dependencies常見報錯及解決方案的文章就介紹到這了,更多相關Maven Dependencies常見報錯內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!