我目前參與的專案有這樣的結構:
- 專案一
- 依賴
Project2
于 pom - 檢查物件是否是
instanceof SomeClass
(如下所述)
- 依賴
- 專案 2
- 依賴
spring-boot-starter-web-services
于 pom - 通過 IntelliJ IDEA 專案設定
Project1
作為檔案匯入.jar
- 有一個類,
SomeClass
擴展org.springframework.ws.client.core.support.WebServiceGatewaySupport
- 依賴
運行mvn clean package
時出現如下錯誤:
cannot access org.springframework.ws.client.core.support.WebServiceGatewaySupport
并且錯誤的行是指instanceof SomeClass
寫入的位置。
在 IntelliJ IDEA 中檢查External Libraries
,似乎與相關的庫spring-boot-starter-web-services
根本沒有出現。添加spring-boot-starter-web-services
project1 的 pom 解決了這個問題,但它似乎令人困惑,因為 project1 所依賴的 project2 已經在它的 pom.xml 中有它。
這是 Maven 的預期行為嗎?Maven是否安裝依賴項的依賴項?還是我還需要配置一些東西才能使它作業?
uj5u.com熱心網友回復:
這取決于:通常 Maven 關心傳遞依賴。
但是如果你的 Project2 是
- 在遠程回購中都不可用(因為你沒有
mvn deploy
) - 也不在本地回購中(因為你沒有
mvn install
) - 在模塊化專案中也不會將其作為兄弟模塊
或者你沒有更新它(在 1 和 2 的情況下)很長時間,maven 可以嘗試使用可能還不包含該依賴項的舊版本的 pom。
另一個問題來源可能是如果專案 2 在provided
.
您寫道,專案 1“通過 IntelliJ IDEA 專案設定”依賴于專案 2。這不足以讓 maven 解決依賴關系,您必須在 maven pom.xml中宣告依賴關系!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/507972.html
上一篇:在com.google.api-client:google-api-client-android:2.0.0中找不到AbstractGoogleClientRequest和GoogleClientRe
下一篇:修改模塊時為服務構建戰爭檔案