Projet

Général

Profil

MAY Maven Eclipse Setup » Historique » Révision 10

Révision 9 (Anonyme, 16/10/2014 10:32) → Révision 10/15 (Anonyme, 16/10/2014 10:33)

h1. MAY Maven Eclipse Setup 

 h2. Install the Maven Eclipse Plugin 

 The Maven Eclipse Plugin, also named M2E, is available as part of the normal Eclipse distribution but must be explicitly installed. 

 Go to *Help* / *Install New Software...* and select the *All available site* in the drop-down list (it may take some time to load). 

 Expand the *Collaboration* category and select *m2e - Maven Integration for Eclipse*. 

 Click *Next*, finish the installation procedure and restart Eclipse when asked to. 

 h2. Convert an Existing Project to Maven 

 The first step is to convert your project into a Maven project. 
 To do this, right click on your project and on *Configure* / *Convert to Maven Project*. 

 You will be asked to create a new POM file. Just click *Finish* after editing the package, name and version if desired. 

 Alternatively, you can directly create a Maven project, this is out of scope of this document. 

 

 h2. Edit the POM File 

 Next, open the POM file in the project and edit it as follows, explanations are included as comments: 
 <pre><code class="xml"> <pre> 
 <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>XXX</groupId> 
	 <artifactId>XXX</artifactId> 
	 <version>XXX</version> 

	 <!-- We store the version of the component library in a property used below --> 
	 <properties> 
		 <may-lib-version>3.3.0</may-lib-version> 
	 </properties> 

	 <!-- We declare the dependency to the component library. 
	          Its dependencies will be also be available. --> 
	 <dependencies> 
		 <dependency> 
			 <groupId>fr.irit.smac.lib.may</groupId> 
			 <artifactId>common-components</artifactId> 
			 <version>${may-lib-version}</version> 
		 </dependency> 
	 </dependencies> 

	 <!-- We declare the repository where the component library can be found --> 
	 <repositories> 
		 <repository> 
			 <id>fr.irit.smac</id> 
			 <url>http://www.irit.fr/~Victor.Noel/maven-repos/</url> 
		 </repository> 
	 </repositories> 

	 <build> 
		 <!-- This is already present in the default POM --> 
		 <sourceDirectory>src</sourceDirectory> 
		 <resources> 
			 <resource> 
				 <directory>src</directory> 
				 <excludes> 
					 <exclude>**/*.java</exclude> 
				 </excludes> 
			 </resource> 
		 </resources> 
		 <plugins> 
			 <!-- This is already present in the default POM --> 
			 <plugin> 
				 <artifactId>maven-compiler-plugin</artifactId> 
				 <version>3.1</version> 
				 <configuration> 
					 <source>1.7</source> 
					 <target>1.7</target> 
				 </configuration> 
			 </plugin> 
			 <!-- This configure maven to take into account the SpeADL code in the speadl-gen directory --> 
			 <plugin> 
				 <groupId>org.codehaus.mojo</groupId> 
				 <artifactId>build-helper-maven-plugin</artifactId> 
				 <version>1.8</version> 
				 <executions> 
					 <execution> 
						 <id>add-source</id> 
						 <goals> 
							 <goal>add-source</goal> 
						 </goals> 
						 <configuration> 
							 <sources> 
								 <source>speadl-gen</source> 
							 </sources> 
						 </configuration> 
					 </execution> 
					 <!-- The following is only needed so that speadl files are included  
						 in the generated maven artifact --> 
					 <execution> 
						 <id>add-resource</id> 
						 <goals> 
							 <goal>add-resource</goal> 
						 </goals> 
						 <configuration> 
							 <resources> 
								 <resource> 
									 <directory>${project.build.sourceDirectory}</directory> 
									 <includes> 
										 <include>**/*.speadl</include> 
									 </includes> 
								 </resource> 
							 </resources> 
						 </configuration> 
					 </execution> 
				 </executions> 
			 </plugin> 
		 </plugins> 
	 </build> 
 </project> 
 </code></pre> 

 </pre> 

 h2. Possible issues and resolutions 

 h3. Errors on the Project 

 You may get an error message saying your project configuration is out of date with your new pom.xml. 

 Update it: right click on your project *Maven* / *Update Project...* and click *Ok*. 

 h3. Errors in the POM File 

 You also may get an error saying the following in the POM file: 

    Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build-helper-maven-plugin:1.8:add-source (execution: add-source, phase: generate-sources) 

 Click on *Discover new m2e connectors*, it should pre-check *buildhelper*, simply click *Finish* to accept and do the installation.