IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

[Scala] Erreur "Plugin execution not covered by lifecycle configuration"


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 958
    Par défaut [Scala] Erreur "Plugin execution not covered by lifecycle configuration"
    bonsoir

    voici un extrait d'un pom.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                 <version>1.7</version>
                <executions>
                    <execution>
                        <id>add-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/main/scala</source>
                                <includes>**/*.scala</includes>
                            </sources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>add-test-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-test-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/test/scala</source>
                                <includes>**/*.scala</includes>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

    eclipse se plaint lorsque je sauvegarde le pom (l'erreur se situe au niveau des 2 lignes "<execution>"):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Plugin execution not covered by lifecycle configuration: org.scala-tools:maven-scala-plugin:2.15.2:compile (execution: default, phase: compile)
    je précise que je n'ai pas utilisé maven depuis longtemps et je ne suis pas à l'aise avec les balises <build>

    en cherchant j'ai trouvé ça : http://www.jarvana.com/jarvana/inspe...plugin-1.7.jar
    ça m'a l'air d'être intéressant mais je ne sais pas l'utiliser.

    merci pour votre attention,

    olivier

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    N'est-ce pas plutôt un problème lié à m2eclipse, le plugin de support de Maven pour Eclipse ?
    Généralement, je me passe de m2eclipse, car franchement, je n'ai jamais eu de très bonnes surprises avec lui, plutôt des mauvaises.

    En gros, voilà ce qui se passe : m2eclipse essaie de comprendre ce qui est décrit dans le build afin de pouvoir construire ton projet dans Eclipse comme le ferait Maven en dehors de l'IDE. Quand il y a des plugins tiers impliqués dans la construction de l'application (ce qui est ton cas avec le plugin scala), alors m2eclipse a besoin d'un exécuteur lié à ce plugin. Le rôle de ce dernier est de réaliser les opérations que ferait normalement le plugin en question, mais en coordination avec m2eclipse. Autrement dit, il agit comme "traducteur" des opérations d'un plugin Maven vers des opérations comprises par m2eclipse.
    Malheureusement, bon nombre des plugins Maven n'ont pas d'exécuteur m2eclipse correspondant, ce qui, je crois, est ton cas.

    Donc il y a 2 solutions :

    1. Se passer de m2eclipse sur ton projet ;
    2. Si tu souhaites toujours utiliser m2eclipse, ce dernier permet de pallier à l'absence d'un exécuteur, en ajoutant un bloc dans le pom.xml, tel que décrit ici : http://wiki.eclipse.org/M2E_plugin_e...on_not_covered (voir chapitre "ignore plugin goal")

    Voilà, j'espère que c'est plus clair maintenant.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 958
    Par défaut
    salut

    merci pour ta réponse.
    je pense ignorer le "goal" en ajoutant la partie dans le pom.xml mais cela ne va pas créer des problèmes?
    je veux dire si certaines tâches sont ignorées, cela ne pourrait-il pas poser des problèmes?

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    En fait, ce bloc (qui à mon sens pollue plus le pom.xml qu'autre chose) ne va être interprété que par m2eclipse.
    Si tu lances le build via Maven, il sera purement et simplement ignoré, et donc n'aura pas d'incidence sur la construction de ton application.
    Au niveau d'Eclipse, le seul truc embêtant, c'est que m2eclipse ne réalisera pas les tâches normalement exécutées par ce plugin scala, et donc ton build risque d'être incomplet. Mais cela, avec ou sans ce bloc dans le pom. Le seul but de ce dernier, finalement, c'est de supprimer ton message erreur initial !
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 958
    Par défaut
    j'ai 2 remarques:

    1/ voici mon pom après modifs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    <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/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>tutoriels</groupId>
      <artifactId>tutoriel_3_projets</artifactId>
      <version>0.0.1-SNAPSHOT</version>
     
      <properties>
        <scala.version>2.9.1</scala.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
     
    <repositories>
        <repository>
            <id>scala-tools.org</id>
            <name>Scala-Tools Maven2 Repository</name>
            <url>http://scala-tools.org/repo-releases</url>
        </repository>
        <repository>
            <id>novusRels</id>
            <name>repo.novus rels</name>
            <url>http://repo.novus.com/releases/</url>
        </repository>
        <repository>
            <id>novusSnaps</id>
            <name>repo.novus snaps</name>
            <url>http://repo.novus.com/snapshots/</url>
        </repository>
        <repository>
            <id>morphia</id>
            <url>http://morphia.googlecode.com/svn/mavenrepo/</url>
        </repository>
     
    </repositories>
     
     
     
     
    <pluginRepositories>
        <pluginRepository>
            <id>scala-tools.org</id>
            <name>Scala-Tools Maven2 Repository</name>
            <url>http://scala-tools.org/repo-releases</url>
        </pluginRepository>
    </pluginRepositories>
     
    <dependencies>
     
       <dependency>
        <groupId>com.novus</groupId>
        <artifactId>salat-core_2.9.1</artifactId>
        <version>1.9.1</version>
    </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>${scala.version}</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.morphia</groupId>
            <artifactId>morphia</artifactId>
            <version>0.99.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
     
     
     
     
    <build>
        <plugins>
     
       <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                    <versionRange>[2.15.2,)</versionRange>
                    <goals>
                      <goal>compile</goal>
                      <goal>testCompile</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <version>2.15.2</version>
     
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <scalaVersion>${scala.version}</scalaVersion>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                    <buildcommands>
                        <buildcommand>org.scala-ide.sdt.core.scalabuilder</buildcommand>
                    </buildcommands>
                    <additionalProjectnatures>
                        <projectnature>org.scala-ide.sdt.core.scalanature</projectnature>
                    </additionalProjectnatures>
                    <classpathContainers>
                        <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
                        <classpathContainer>org.scala-ide.sdt.launching.SCALA_CONTAINER</classpathContainer>
                    </classpathContainers>
                    <excludes>
                        <exclude>org.scala-lang:scala-library</exclude>
                    </excludes>
                    <sourceIncludes>
                        <sourceInclude>**/*.scala</sourceInclude>
                    </sourceIncludes>
                </configuration>
            </plugin>
            
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                 <version>1.4</version>
                <executions>
                    <execution>
                        <id>add-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/main/scala</source>
                                <includes>**/*.scala</includes>
                            </sources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>add-test-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-test-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/test/scala</source>
                                <includes>**/*.scala</includes>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    </project>
    j'ai toujours les erreurs

    2/le tuto que je suis est : http://guy.renards.be/blog/?p=24; au niveau de la déclaration du maven-scala-plugin il est dit que il permet:
    - de compiler le projet scala dans maven
    - d'ajouter à maven la possibilité de créer les fichiers .project et .classpath
    étant donné que pour mes projets scala l'utilité de maven est juste l'importation des librairies, ne puis-je pas effectuer ces deux tâches "à la main", à partir d'eclipse? et produire un jar du projet scala? les fichiers cachés .project et .classpath ne sont-ils pas créés lors de l'ajout au projet java du type "scala"(scala nature)?

  6. #6
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    En fait, ce bloc (qui à mon sens pollue plus le pom.xml qu'autre chose) ne va être interprété que par m2eclipse.
    Si tu lances le build via Maven, il sera purement et simplement ignoré, et donc n'aura pas d'incidence sur la construction de ton application.
    Au niveau d'Eclipse, le seul truc embêtant, c'est que m2eclipse ne réalisera pas les tâches normalement exécutées par ce plugin scala, et donc ton build risque d'être incomplet. Mais cela, avec ou sans ce bloc dans le pom. Le seul but de ce dernier, finalement, c'est de supprimer ton message erreur initial !
    La dernière version de M2Eclipse permet de ne plus 'polluer' le pom. Les infos pour le plugin ont la possibilité d'être sauvegardées dans le workspace

    Citation Envoyé par olivier57b Voir le message
    ...
    Typiquement, les erreurs de lifecycle mapping dans M2Eclipse arrivent lors des phases de génération de code, mise à jour des projets eclipse, ..., bref, des phases où M2Eclise ne peut déterminer le comportement attendu !

    Pour ces exceptions, M2Eclipse t'offre la possibilité :
    - de déléguer le comportement à un outil externe (un connecteur M2Eclipse à aller piocher dans l'espace Market de M2Eclipse)
    - d'ignorer la phase qui pose problème
    - de forcer l'exécution de la phase à tes 'risques et périls'
    Je ne pense pas qu'il y ait de connecteur pour Scala Il te reste donc a forcer ou ignorer l'exécution des phase incriminées.

    Je ne comprends pas pourquoi tu obtiens l'erreur sur la phase de compil (normalement celà devrait être une phase standard)... Si tu ignores cette phase, tu ne va rien compiler et rien ne sera généré !
    Tu dis: j'ai toujours les erreurs... On peut voir ? A vue d'oeuil: outre scala, build-helper-maven-plugin et maven-eclipse-plugin vont poser problème de lifecycle mapping... Tu noteras que lorsque tu édites ton pom les erreurs sont marquées et M2Eclipse te propose de chercher le connecteur ou ignorer/forcer l'exécution de la phase qui pose problème. De manière générale, maven-eclipse-plugin n'est pas prévu pour fonctionner avec M2Eclipse...

    a+
    Philippe

    Le connecteur Scala pour M2Eclipse (pour Scala IDE semble-t'il)...

Discussions similaires

  1. Réponses: 10
    Dernier message: 24/04/2009, 10h40
  2. Réponses: 5
    Dernier message: 06/03/2009, 16h55
  3. Utilisation javah --> Erreur : Class XXXX could not be fo
    Par vano dans le forum Général Java
    Réponses: 6
    Dernier message: 09/05/2005, 21h32
  4. [Dev-Pascal] Erreur "Unit Graph could not be compiled"
    Par marc26 dans le forum Autres IDE
    Réponses: 3
    Dernier message: 03/02/2005, 07h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo