Exécution des plugins ne sont pas couverts par la configuration de cycle de vie: com.jayway.maven.les plugins.android.generation2:android-maven-plugin:3.5.0:generate-sources
J'ai une application Android, qui est construit à l'aide de pom.xml
fichier donné ci-dessous. mvn clean install
fonctionne sans erreurs, mais dans Eclipse, j'obtiens les erreurs suivantes:
Plugin execution not covered by lifecycle configuration: com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.5.0:generate-sources (execution: default-generate-sources, phase: generate-sources)
Plugin execution not covered by lifecycle configuration: com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.5.0:proguard (execution: default-proguard, phase: process-classes)
Comment puis-je corriger?
Voici la pom.xml
fichier:
<?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.mycompany</groupId>
<artifactId>myapp-android</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>apk</packaging>
<name>myappAndroidClient</name>
<repositories>
<repository>
<id>achartengine</id>
<name>Public AChartEngine repository</name>
<url>https://repository-achartengine.forge.cloudbees.com/snapshot/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.1.1.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>compile</scope>
</dependency>
<!-- Make sure this (robolectric dependency) is below the android dependencies -->
<dependency>
<groupId>com.pivotallabs</groupId>
<artifactId>robolectric</artifactId>
<version>1.0-RC4</version>
</dependency>
<dependency>
<groupId>org.achartengine</groupId>
<artifactId>achartengine</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.5.0</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>17</platform>
<path>C:\Program Files\adt-bundle-windows-x86\adt-bundle-windows-x86\sdk</path>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>javancss-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<configuration>
<targetJdk>1.7</targetJdk>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.6</version>
<configuration>
<configLocation>altruix-checkstyle.xml</configLocation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
<instrumentation>
<excludes>
<exclude>**/*Test.class</exclude>
</excludes>
</instrumentation>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.0.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>2.2</version>
<configuration>
<inputEncoding>UTF-8</inputEncoding>
<outputEncoding>UTF-8</outputEncoding>
<locales>en</locales>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jdepend-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</project>
Mise à jour 1 (06.03.2013): Voici la liste des plugins installés.
Mise à jour 2 (08.03.2013): ci-Dessous vous pouvez trouver les mises à jour pom.xml
. Maintenant j'ai une autre erreur Plugin execution not covered by lifecycle configuration: com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.5.0:proguard (execution: default-proguard, phase: process-classes)
à l'endroit marqué par <!-- Error occurs here -->
dans le code XML ci-dessous.
<build>
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<versionRange>[3.5.0,)</versionRange>
<goals>
<goal>generate-sources</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.5.0</version>
<extensions>true</extensions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin> <!-- Error occurs here -->
<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>17</platform>
<path>C:\Program Files\adt-bundle-windows-x86\adt-bundle-windows-x86\sdk</path>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
Mise à jour 3 (08.03.2013): Lorsque je change la pom.xml
fichier de cette façon
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<versionRange>[3.5.0,)</versionRange>
<goals>
<goal>generate-sources</goal>
<goal>proguard</goal>
<goal>emma</goal>
<goal>dex</goal>
<goal>internal-pre-integration-test</goal>
<goal>internal-integration-test</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.5.0</version>
<extensions>true</extensions>
</plugin>
et exécutez l'application à partir d'Eclipse, j'obtiens l'erreur suivante:
FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: co.altruix.ccp.android.impl.viewtype2fragmentmapper.DefaultViewTypeToFragmentMapper
at co.altruix.ccp.android.impl.activities.MainActivity.<init>(MainActivity.java:22)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5039)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Quand je lance la même application à l'aide de mvn clean install; mvn android:emulator-start; mvn android:deploy
, tout fonctionne bien.
Mise à jour 4 (11.03.2013 00:24 MSK): Voici la liste des plugins installés dans ma nouvelle eclipse installation:
Mise à jour 5 (12.03.2013 23:22 MSK): Voici le classpath (achartengine semble être inclus):
Vous pouvez également télécharger mon Eclipse installation.
- On dirait qu'il vous manque un m2e connecteur nécessaires pour intégrer le maven-android-plugin pour Eclipse. Avez-vous installé le connecteur?
- Je ne peux pas. Il n'y a pas d'élément de menu
Help -> Eclipse Marketplace
dans mon IDE. - Voir mise à jour de 1 avec une liste de tous les plug-ins Eclipse.
- Avez-vous télécharger l'Éclipse à partir de l'Android site web plutôt que de eclipse.org directement?
- Regarde comme si vous avez déjà m2e-android installé. Pouvez-vous le vérifier?
- 1) AFAIR j'ai téléchargé Eclipse à partir de l'Android site web. 2) Comment puis-je vérifier que m2e-android est installé?
- Il devrait être dans la liste des plugins installés comme "Android Connecteur'. Si cela échoue, vous pouvez essayer d'installer Eclipse à partir de eclipse.org et installer les plugins vous-même.
- Re-installation d'eclipse à partir de eclipse.org n'a pas aidé. J'ai toujours l'
java.lang.NoClassDefFoundError: co.altruix.ccp.android.impl.viewtype2fragmentmapper.DefaultViewTypeToFragmentMapper
exception lors du lancement de l'application à partir d'eclipse. - Comment puis-je vérifier que m2e-android est installé? Voir cette réponse.
- Merci. Voir "mise à Jour de 4" avec une liste de plugins dans mon IDE eclipse.
- Comment avez-vous importer le projet? La bonne façon est d'utiliser des
File - Import... - Maven - Existing Maven Projects
importer les mavenized projet android. - est le achartengine dépendance figurant dans votre classpath? Avez-vous vérifier si m2e-android est installé?
- J'ai supprimé le projet existant, puis importé comme vous l'avez expliqué. J'obtiens les mêmes résultats (
NoClassDefFoundError
). - Concernant m2e-android - comme vous pouvez le voir dans la capture d'écran "mise à Jour de 4", il y a un plugin appelé "Android configurateur pour M2E", d'où je conclus que m2e-android est installé.
- cool, c'est le achartengine dépendance figurant dans votre classpath?
- Selon les propriétés du projet - oui. Voir la capture d'écran "mise à Jour de 5".
- Pour vous aider à déboguer mon problème, j'ai ajouté le lien vers 7zipped archive de mon eclipse installation.
- Voir le lien ci-dessous la capture d'écran "mise à Jour de 5".
- Existe-il des éléments d'information qui pourrait vous aider à répondre à la question (et que je n'ai pas encore fournir) et d'obtenir le bounty?
Vous devez vous connecter pour publier un commentaire.
Un moyen de le résoudre est par adjonction de l'article suivant à votre pom.xml (ou le parent pom.xml):
proguard
objectif, je ne peux pas déployer l'application dans l'émulateur, car l'un de mes fichiers de classe est absent (ce qui n'a pas eu lieu avant). Je vais envoyer la trace de la pile dans une couple d'heures.