“POM”类型的依赖关系

hel*_*004 3 java maven

我正在尝试使用 ServiceMix 和 ActiveMQ 运行 ESB 系统。但即使在我做到这一点之前,我也有一个关于 POM 依赖类型的问题。我得到的 Maven 依赖项为:

<!-- https://mvnrepository.com/artifact/org.apache.servicemix/servicemix -->
<dependency>
    <groupId>org.apache.servicemix</groupId>
    <artifactId>servicemix</artifactId>
    <version>7.0.1</version>
    <type>pom</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)

现在,当我在包含此依赖项的项目上运行“全新安装”时,我没有看到任何 activeMQ jar 被复制到类路径中或可用于编译(我已经编写了复制依赖项,因此我可以看到包含哪些 jar 文件)。在这种情况下,我是否仍然需要在我的 pom 文件中明确提及 activeMQ 依赖项?喜欢:

<!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-core -->
<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-core</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

任何指导将不胜感激。这个 ServiceMix 因缺乏文档而令人沮丧。

JF *_*ier 5

如果您将类型的依赖项放入pom<dependencies>,Maven 将使用 POM 的内容作为传递依赖项。因此,该 POM 中的所有内容都将成为类路径的一部分,除非它具有范围之类的内容test或其版本被 POM 的其他部分覆盖。

将 POM 放入其中<dependencyManagement>是另一回事。请注意,范围import仅适用于<dependencyManagement>.