Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dependency of Type "POM"

Tags:

java

maven

I am trying to get an ESB system running using ServiceMix and ActiveMQ. But even before I get that far, I had a question about dependency types of POM. I got the maven dependency as:

<!-- 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>

Now when I run "clean install" on the the project in which I included this dependency, I don't see any of the activeMQ jars being copied in the classpath or available for compilation (I have copy-dependency written, so I can see what jar files are included). In this case, do I still have to explicitly mention the activeMQ dependency in my pom file? Like:

<!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-core -->
<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-core</artifactId>
</dependency>

Any guidance would be appreciated. This ServiceMix is frustrating with the lack of documentation.

like image 797
hell_storm2004 Avatar asked Oct 15 '25 20:10

hell_storm2004


1 Answers

If you put a dependency of type pom into your <dependencies>, Maven will use the content of the POM as transitive dependencies. So everything in that POM will become a part of the classpath unless it has something like test scope or its version is overridden by some other part of the POM.

Putting a POM into the <dependencyManagement> is a different thing. Note that scope import is only for <dependencyManagement>.

like image 190
J Fabian Meier Avatar answered Oct 18 '25 09:10

J Fabian Meier



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!