Use with maven poms
General
If you want to use a maven pom.xml instead of ivy.xml file, you just have to select a pom file in the configuration form of IvyDE class path.
When a maven pom is selected, the configurations list is updated with all maven scopes.
Both examples below are a good illustration of maven pom use simplicity :
Maven1 Sample
This sample presents a simple use case of maven pom for IvyDE class path container. We are going to create an eclipse project on commons-httpclient sources.
- Download the commons httpclient sources
- Unzip this file (c:/tmp/commons-httpclient/)
- Create a new Eclipse java project based on the unzipped sources (c:/tmp/commons-httpclient/)
Notes: your project do not compile: some imports cannot be resolved.
- Add a new class path container based on the "project.xml" pom and select "default" configuration (maven scope)
- That's all : your project compiles !
Maven2 Sample
This sample shows that IvyDE Class path container on a Maven2 pom can handle transitive dependancies.
- Create a new empty java project in eclipse.
- In your Ivy project configuration, set the ivy conf file below (Project/Properties/Ivy):
<ivyconf>
<conf defaultResolver="ibiblio-maven2"/>
<resolvers>
<ibiblio name="ibiblio-maven2" m2compatible="true" />
</resolvers>
</ivyconf>
Using the m2compatible attribute, you can benefit from Maven2 repository compatibility.
- Add the pom below in your project and select it for an IvyDE class path container choosing "compile" and "runtime" configurations.
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>myproject</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.0</version>
</dependency>
</dependencies>
</project>
- That's all ! Your IvyDE class path container gets all dependencies even those that were transitive to the commons-httpclient module !
Printer Friendly