我正在使用帶有嵌入式maven(版本3.3.9)的eclipse mars,并且我面臨著一個我無法理解的問題以解決它。我一直在嘗試創(chuàng)建一個與 JMS 相關(guān)的“庫”,其他一些項目可以在其依賴管理部分下的 pom 中使用該庫(換句話說,遵循“BOM”模式)。但是,當將創(chuàng)建的 BOM 拉入應該使用它的相應項目的 dependencyManagement 部分時,指定的依賴項將被拉入,但項目構(gòu)建本身 ( mvn clean install ) 失敗,并顯示下面的錯誤。我使用的結(jié)構(gòu)如下:一個“ jms-dependency-BOM ”項目(打包為 pom ),其中包含一個“ jms-dependency-parent ”項目(再次打包為 pom )作為子模塊,該項目又繼承自“ jms-dependency-BOM ”項目。此外,上述“ jms-dependency-parent ”項目還有一個“ amqdeps ”子模塊(打包為 jar )?!?nbsp;amqdeps ”子模塊也繼承自“ jms-dependency-parent ”項目。測試集成器”。雖然它聽起來確實像重復的,但我不確定它是不是。我的錯誤消息有點不同(沒有提到錯誤的相對路徑,例如在其他問題中)。現(xiàn)在我已經(jīng)嘗試了我能想到的一切,清除整個 .m2 /repository文件夾,嘗試從cli使用的 Maven 版本(3.2)與 Eclipse 中的嵌入式版本略有不同。基本上我已經(jīng)嘗試了類似問題所建議的所有內(nèi)容,都得到相同的結(jié)果。我想這與我構(gòu)建項目的 BOM 層次結(jié)構(gòu)的方式有關(guān)(也許是相對路徑,盡管編譯器沒有抱怨它),但我對它的理解不夠?!?nbsp;jms-依賴項-BOM ”pom<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.test</groupId> <artifactId>jms-dependencies-BOM</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <properties> <amqdeps.version>0.0.1-SNAPSHOT</amqdeps.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>com.test</groupId> <artifactId>amqdeps</artifactId> <version>${amqdeps.version}</version> </dependency> </dependencies> </dependencyManagement> <modules> <module>jms-dependencies-parent</module> </modules></project>
1 回答

九州編程
TA貢獻1785條經(jīng)驗 獲得超4個贊
這個特定錯誤的原因似乎是版本字符串中的一個簡單的拼寫錯誤。您正在嘗試導入
<jms-dependencies-BOM.version>0.0.1.SNAPSHOT</jms-dependencies-BOM.version>
而項目版本實際上是
<version>0.0.1-SNAPSHOT</version>
注意.
vs 的-
區(qū)別。
也就是說,我確實相信您應該閱讀更多有關(guān)項目繼承與項目聚合的內(nèi)容,并確保您了解reactor構(gòu)建如何工作的細節(jié)。那么也許您可能需要重新考慮如何構(gòu)建模塊。我不是在評判你(也許你有充分的理由去做你所做的事情),但乍一看,你的多模塊結(jié)構(gòu)有點混亂,因此很脆弱。
添加回答
舉報
0/150
提交
取消