2013-10-17 11 views
15

Ho il plugin jaxws-maven nel padre pom.xml nel tag pluginManagement e mi riferisco a questo plug-in nel pom del bambino.L'esecuzione del plug-in non è coperta dall'errore di configurazione del ciclo di vita in eclipse con pluginManagement nel genitore pom

mvn clean sta funzionando bene. Ma eclipse si lamenta del fatto che l'esecuzione del plug-in non è coperta dalla configurazione del ciclo di vita: org.codehaus.mojo: jaxws-maven-plugin: 1.12: wsimport (esecuzione: FirstWsdl, phase: generate-sources) ".

Puoi suggerire come evitare questo errore in eclissi?

genitore pom

<pluginManagement> 
    <plugins> 
    ... 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>jaxws-maven-plugin</artifactId> 
     <version>1.12</version> 
     <executions> 
      <execution> 
       <id>FirstWsdl</id> 
       <goals> 
        <goal>wsimport</goal> 
       </goals> 
       <phase>generate-sources</phase> 
       <configuration> 
        <wsdlLocation>location/file.wsdl</wsdlLocation> 
        <wsdlFiles> 
         <wsdlFile>file.wsdl</wsdlFile> 
        </wsdlFiles> 
        <packageName>com.xxx.package</packageName> 
       </configuration> 
      </execution> 

     </executions> 
     <configuration> 
      <sourceDestDir>${basedir}/generated</sourceDestDir> 
      <verbose>true</verbose> 
      <extension>true</extension> 
      <keep>true</keep> 
      <vmArgs> 
       <vmArg .../> 
      </vmArgs> 
     </configuration> 

    </plugin> 
... 
    </plugins> 
</pluginManagement> 

bambino pom

<plugins> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>jaxws-maven-plugin</artifactId> 
    </plugin> 
</plugins> 

ho guardato a questa domanda e la risposta How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds, ma, devo usare pluginManagement sia nel genitore e pom bambino per evitare questo errore?

risposta

18

Questo dovrebbe essere:

  • documentato nella pagina wiki "M2E plugin execution not covered":

    progetto di mappatura di compilazione del ciclo di vita può essere configurato in un progetto di pom.xml, contributo di plugin Eclipse, o default per i plugin Maven comunemente usati spediti con m2e.
    Chiamiamo questi "fonti di metadati per il ciclo di vita".
    m2e creerà un indicatore di errore come di seguito per tutte le esecuzioni di plug-in che non hanno il mapping del ciclo di vita in nessuna delle fonti di metadati di mapping.

  • illustrato in "How to solve “Plugin execution not covered by lifecycle configuration” for Spring Data Maven Builds" (che si fa riferimento).

    • aggiungendo il lifecycleMappingMetadata nel pom principale.
    • o allegando i plugin con il tag <pluginManagement> (in entrambi i pom).

That thread aggiunge ulteriori dettagli al messaggio di errore specifico:

quando dare un'occhiata in Eclipse-UI nelle proprietà del progetto sotto “Maven” -> “ai cicli di vita Mapping” (dopo aver controllato la casella "Mostra le fasi del ciclo di vita" e disabilitato "Mostra le esecuzioni ignorate"), vedo il seguente contenuto.
A mio parere questo file mostra il mapping tra il ciclo di vita di build di Eclipse (runtime/incremental) e i suoi plugin Maven associati.
Attualmente, non contiene il plug-in "jax-ws", rispettivamente l'obiettivo "wsimport".

Il problema è che avete il plugin jax-ws dichiarato nella sezione pluginManagement.
Per ottenere un binding a una fase dovrebbe essere in build/plugins.
Anche l'esecuzione di un build Maven da CLI non funzionerebbe, quindi sospetto che non si stia eseguendo lo standard "mvn install"?

Per eseguire l'esecuzione di Maven da Eclispe al lavoro, non devi fare nulla.
Ma se si desidera avere il supporto incrementale/di runtime nell'IDE, si dovrebbe ottenere il connettore m2e corretto. Se guardi il pom nell'editor POM in Eclipse, l'esecuzione del plugin dovrebbe essere contrassegnata con un errore rosso X. Passa il mouse sopra e dovresti ottenere un'opzione per trovarne uno ("Scopri i nuovi connettori m2e").

+0

Così, l'unico modo sembra essere l'aggiunta di metadati mappatura del ciclo di vita in POM genitore di ignorare i JAX-WS plugin come in http: //wiki.eclipse.org/M2E_plugin_execution_not_covered#ignore_plugin_goal. Quando dico Scopri nuovi connettori m2e, eclipse non ne ha trovato uno per il plugin jax-ws. Tuttavia, quando eseguo l'installazione di mvn clean dalla CLI, l'obiettivo ws-import è in esecuzione. –

+0

@would_like_to_be_anon Sì, sono d'accordo, aggiungendo che i metadati del ciclo di vita sembrano funzionare. – VonC

13

Se non riesci a trovare connectior è possibile disattivare questo errore in eclisse perché come documentazione dice:

Per ottenere l'esecuzione Maven dall'interno Eclispe al lavoro non si ha a Fai qualcosa.

in modo da andare a Eclipse: Preferences -> Maven -> Error/Warnings e cambio Errore di avvertimento in opzione: Plugin execution not converted by lifecycle configuration

+1

Questa è la soluzione più semplice che ho trovato, grazie. Penso che questa risposta dovrebbe essere contrassegnata come una risposta corretta. – krokodilko

Problemi correlati