我正在使用带有嵌入式maven(版本3.3.9)的eclipse mars,并且我面临着一个我无法理解的问题以解决它。我一直在尝试创建一个与 JMS 相关的“库”,其他一些项目可以在其依赖管理部分下的 pom 中使用该库(换句话说,遵循“BOM”模式)。但是,当将创建的 BOM 拉入应该使用它的相应项目的 dependencyManagement 部分时,指定的依赖项将被拉入,但项目构建本身 ( mvn clean install ) 失败,并显示下面的错误。
我使用的结构如下:
一个“ jms-dependency-BOM ”项目(打包为 pom ),其中包含一个“ jms-dependency-parent ”项目(再次打包为 pom )作为子模块,该项目又继承自“ jms-dependency-BOM ”项目。此外,上述“ jms-dependency-parent ”项目还有一个“ amqdeps ”子模块(打包为 jar )。“ amqdeps ”子模块也继承自“ jms-dependency-parent ”项目。测试集成器”。
虽然它听起来确实像重复的,但我不确定它是不是。我的错误消息有点不同(没有提到错误的相对路径,例如在其他问题中)。现在我已经尝试了我能想到的一切,清除整个 .m2 /repository文件夹,尝试从cli使用的 Maven 版本(3.2)与 Eclipse 中的嵌入式版本略有不同。基本上我已经尝试了类似问题所建议的所有内容,都得到相同的结果。我想这与我构建项目的 BOM 层次结构的方式有关(也许是相对路径,尽管编译器没有抱怨它),但我对它的理解不够。
“ 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>
九州编程
相关分类