If you want to use a Apache Maven pom.xml instead of an ivy.xml file, you can select a pom file in the configuration options of the IvyDE classpath. When a maven pom is selected, the configurations list is updated with all maven scopes. Both examples below are a good illustration of the simplicity of using maven poms in Apache IvyDE:
Maven1 sample
Maven2 sample
Maven1 Sample
This sample presents a simple use case involving a maven pom and the IvyDE classpath 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/)
Note:
your project willnot compile: some imports cannot be resolved.
- Add a new classpath container based on the "project.xml" pom and select "default" configuration (maven scope)
- Finished. The project compiles!
Maven2 Sample
This sample demonstrates how the IvyDE classpath container on a Apache Maven 2 pom can handle transitive dependencies.
- Create a new empty java project in Eclipse.
- In your project, create an
ivysettings.xml
file:
Using the m2compatible attribute, you can benefit from Apache Maven 2 repository compatibility.
- In your project, create a
pom.xml
file:
4.0.0
com.mycompany
myproject
1.0-SNAPSHOT
commons-httpclient
commons-httpclient
3.0
- On the pom.xml file, open the context menu and click on "Add Ivy Library...":
- Select the configurations
compile
and
runtime
- click "Finish"
- That's all! Your IvyDE classpath container resolves all dependencies including those that were transitive to the commons-httpclient module!