I'm stumped. We recently converted our Android project to a Maven project. My partner is using IntelliJ and I'm using Eclipse. He says this builds fine with his setup.
I'm very new to Maven and have followed the tutorials and read just about everything I can find to try to resolve this.
I have the following error in my pom.xml file:
Multiple annotations found at this line:
- Plugin execution not covered by lifecycle configuration: com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.3.2:proguard (execution: default-proguard,
phase: process-classes)
- Plugin execution not covered by lifecycle configuration: com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.3.2:generate-sources (execution: default-
generate-sources, phase: generate-sources)
Here's my pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.groupmd.clientandroid</groupId>
<artifactId>clientandroid</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>apk</packaging>
<name>GroupMD</name>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>support-v4</artifactId>
<version>r7</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.actionbarsherlock</groupId>
<artifactId>actionbarsherlock</artifactId>
<version>4.2.0</version>
<type>apklib</type>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.3.2</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<sdk>
<!-- platform or api level (api level 4 = platform 1.6)-->
<platform>14</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
</project>
What am I missing?
This happens because the Maven plugin for Eclipse (m2e), by default, knows what to do on the regular plugin executions (compile, test, process-resources, etc.) but it doesn't know "what to do" with these Android plugin executions.
Sometimes, for example when configuring maven-war-plugin, maven-ear-plugin, etc., you can enhance the basic functionality provided by m2e, by downloading the so-called "m2e-connectors" from the Eclipse Marketplace. After that, m2e knows what to do on some "non-standard" plugin executions and stops showing these errors.
In this particular case (Android plugins) you are lucky and there are connectors to be installed for fixing the problem.
option 1: (simpler)
Go to the Eclipse Marketplace and look for "Android Configurator for M2E" and install it.
If, for some reason, you cannot use/access the Marketplace (e.g. if you are using Spring Tool Suite -STS-) you can still install the connector:
option 2:
Help --> Install New Software... --> Work with and paste the following (exactly as it is, without ommiting anything)
Maven Integration for Android Development Tools Dependency Sites - http://rgladwell.github.com/m2e-android/updates/
and press ENTER. It will pop up a confirmation dialog, press ENTER again and you should be able to see the software available at that update site. Just tick all of them ("NDK plugins" is the only optional) and that's it, after a full rebuild, your problems should be gone.
Hope this helps.