我被难住了。我们最近将我们的 Android 项目转换为 Maven 项目。我的伙伴正在使用 IntelliJ,而我正在使用 Eclipse。他说这与他的设置相得益彰。
我对 Maven 非常陌生,并且已经按照教程阅读并阅读了我能找到的所有内容以尝试解决此问题。
我的 pom.xml 文件中有以下错误:
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)
这是我的 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>
我错过了什么?
最佳答案
发生这种情况是因为 Eclipse (m2e) 的 Maven 插件默认知道在常规插件执行(编译、测试、流程资源等)上做什么,但它不知道“做什么”使用这些 Android 插件执行。
有时,例如在配置 maven-war-plugin、maven-ear-plugin 等时,您可以通过从 Eclipse Marketplace 下载所谓的“m2e-connectors”来增强 m2e 提供的基本功能。之后,m2e 知道如何处理一些“非标准”插件执行并停止显示这些错误。
在这种特殊情况下(Android 插件),您很幸运,并且需要安装连接器来解决问题。
选项1:(更简单)
Go to the Eclipse Marketplace and look for "Android Configurator for M2E" and install it.
如果由于某种原因您无法使用/访问 Marketplace(例如,如果您使用 Spring Tool Suite -STS-),您仍然可以安装连接器:
选项 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/
然后按 ENTER。它将弹出一个确认对话框,再次按 ENTER,您应该能够看到该更新站点上可用的软件。只需勾选所有这些(“NDK 插件”是唯一可选的),就是这样,在完全重建后,您的问题应该消失了。
希望这会有所帮助。
关于android - com.jayway.maven.plugins.android.generation2 : Plugin execution not covered by lifecycle configuration?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13554694/