Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

m2e lifecycle-mapping not found

I am trying to use the solution described here to solve the annoying "Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build-helper-maven-plugin:1.7:add-source (execution: default, phase: generate-sources)" when I place the following plugin on my pom.xml:

<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions>     <execution>         <phase>generate-sources</phase>         <goals><goal>add-source</goal></goals>         <configuration>             <sources>                 <source>src/bootstrap/java</source>             </sources>         </configuration>     </execution> </executions> </plugin> 

But when I run mvn clean install I get this:

Reason: POM 'org.eclipse.m2e:lifecycle-mapping' not found in repository: Unable to download the artifact from any repository

Does anyone have a clue on how to make m2e and maven happy?

like image 876
TraderJoeChicago Avatar asked Sep 13 '11 23:09

TraderJoeChicago


2 Answers

The org.eclipse.m2e:lifecycle-mapping plugin doesn't exist actually. It should be used from the <build><pluginManagement> section of your pom.xml. That way, it's not resolved by Maven but can be read by m2e.

But a more practical solution to your problem would be to install the m2e build-helper connector in eclipse. You can install it from the Window > Preferences > Maven > Discovery > Open Catalog. That way build-helper-maven-plugin:add-sources would be called in eclipse without having you to change your pom.xml.

like image 161
Fred Bricon Avatar answered Sep 28 '22 00:09

Fred Bricon


Try using the build/pluginManagement section, e.g. :

<pluginManagement>     <plugins>         <plugin>             <groupId>org.eclipse.m2e</groupId>             <artifactId>lifecycle-mapping</artifactId>             <version>1.0.0</version>             <configuration>                 <lifecycleMappingMetadata>                     <pluginExecutions>                         <pluginExecution>                             <pluginExecutionFilter>                                 <groupId>org.bsc.maven</groupId>                                 <artifactId>maven-processor-plugin</artifactId>                                 <versionRange>[2.0.2,)</versionRange>                                 <goals>                                     <goal>process</goal>                                 </goals>                             </pluginExecutionFilter>                             <action>                                 <execute />                             </action>                         </pluginExecution>                     </pluginExecutions>                                          </lifecycleMappingMetadata>             </configuration>         </plugin>     </plugins> </pluginManagement> 

Here's an example to generate bundle manifest during incremental compilation inside Eclipse :

<build>     <pluginManagement>         <plugins>             <plugin>                 <groupId>org.eclipse.m2e</groupId>                 <artifactId>lifecycle-mapping</artifactId>                 <version>1.0.0</version>                 <configuration>                     <lifecycleMappingMetadata>                         <pluginExecutions>                             <pluginExecution>                                 <pluginExecutionFilter>                                     <groupId>org.apache.felix</groupId>                                     <artifactId>maven-bundle-plugin</artifactId>                                     <versionRange>[1.0.0,)</versionRange>                                     <goals>                                         <goal>manifest</goal>                                     </goals>                                 </pluginExecutionFilter>                                 <action>                                     <execute />                                 </action>                             </pluginExecution>                         </pluginExecutions>                     </lifecycleMappingMetadata>                 </configuration>             </plugin>         </plugins>     </pluginManagement>     <plugins>         <plugin>             <artifactId>maven-compiler-plugin</artifactId>             <version>2.3.2</version>             <configuration>                 <source>1.6</source>                 <target>1.6</target>                 <encoding>UTF-8</encoding>             </configuration>         </plugin>          <plugin>             <groupId>org.apache.felix</groupId>             <artifactId>maven-bundle-plugin</artifactId>             <version>2.3.7</version>             <extensions>true</extensions>             <configuration>                 <instructions>                 </instructions>             </configuration>             <executions>                 <execution>                     <id>manifest</id>                     <phase>process-classes</phase>                     <goals>                         <goal>manifest</goal>                     </goals>                 </execution>             </executions>         </plugin>     </plugins> </build> 

versionRange is required, if omitted m2e (as of 1.1.0) will throw NullPointerException.

like image 36
Hendy Irawan Avatar answered Sep 28 '22 01:09

Hendy Irawan