![](/img/trans.png)
[英]The POM for <name> is invalid, transitive dependencies (if any) will not be available
[英]Should a pom declare transitive dependencies?
我的模塊MyLibrary依賴於工件ThirdPartyLibrary。
我的模塊MyApplication依賴於MyLibrary,但也直接調用ThirdPartyLibrary中的代碼。
MyApplication應該明確地將ThirdPartyLibrary包含為pom中的依賴項,還是依賴於MyLibrary將其作為依賴項包含它的事實?
您應該直接聲明應用程序所依賴的每個依賴項,即使(此時)您的另一個直接依賴項會將相同的依賴項傳遞給您的應用程序。 原因如下:如果升級MyApplication
以使用MyLibrary
的未來版本(您不知道)不再依賴於ThirdPartyLibrary
,則代碼將突然無法編譯 - 直到您將對ThirdPartyLibrary
的顯式依賴添加到MyApplication
。 這意味着這種依賴應該始終存在。
僅供參考, maven-dependency-plugin
具有非常有用的dependency:analyze
目標 ,幫助您確定應用程序應聲明哪些依賴項; 它將查看MyApplication
的代碼,查看MyLibrary
的依賴關系,並發出MyLibrary
使用但未聲明的警告:
[WARNING] Used undeclared dependencies found:
[WARNING] org.example:ThirdPartyLibrary:jar:1.0:compile
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.