Подтвердить что ты не робот

Com.jayway.maven.plugins.android.generation2: Выполнение плагина не покрывается конфигурацией жизненного цикла?

Я в тупике. Недавно мы перевели наш проект 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>

Что мне не хватает?

4b9b3361

Ответ 1

Это происходит, потому что плагин Maven для Eclipse (m2e) по умолчанию знает, что делать с регулярными плагинами (компиляция, тестирование, технологические ресурсы и т.д.), но он не знает, "что делать", с этими плагинами Android.

Иногда, например, при настройке maven-war-plugin, maven-ear-plugin и т.д. вы можете повысить базовую функциональность, предоставляемую m2e, загрузив так называемые "m2e-connector" из Eclipse Marketplace. После этого, m2e знает, что делать на некоторых "нестандартных" плагинах и останавливает показ этих ошибок.

В этом конкретном случае (Android-плагины) вам повезло, и для исправления проблемы установлены соединители.

вариант 1: (проще)

Перейдите на сайт Eclipse Marketplace и найдите "Android Configurator for M2E" и установите его.

Если по какой-либо причине вы не можете использовать/получить доступ к Marketplace (например, если вы используете Spring Tool Suite -STS-), вы все равно можете установить соединитель:

вариант 2:

Справка → Установить новое программное обеспечение... → Работайте и вставьте следующее (точно так же, как и без чего-либо)

Maven Integration for Android Development Tools Dependency Sites - http://rgladwell.github.com/m2e-android/updates/

и нажмите ENTER. Появится диалоговое окно подтверждения, снова нажмите ENTER, и вы сможете увидеть программное обеспечение, доступное на этом сайте обновлений. Просто отметьте все из них ( "Плагины NDK" являются единственными необязательными) и что после полного восстановления ваши проблемы не исчезнут.

Надеюсь, что это поможет.