2013-05-09 5 views
3

Я использую Eclipse Juno с Maven 3.0.5 в Windows 7. Проект был ранее в Windows XP, и я перешел на 64-разрядную машину Windows 7.Выполнение плагина Eclipse Maven не распространяется на конфигурацию жизненного цикла:

Я скопировал мой Eclipse, Spring 3, Hibernate 4 и JSF 2.0 проекта, и когда я пытаюсь скомпилировать я получаю следующую ошибку

Plugin execution not covered by lifecycle configuration: 
org.bsc.maven:maven-processor-plugin:2.0.6:process (execution: process, phase: 
generate-sources) 

Я попытался, как указано в this потоке, добавив следующее в Затмении .ini, однако это не решило проблему.

-vm 
c:\Program Files\Java\jdk1.7.0_21\jre\bin\server\jvm.dll 

Пробное здание maven устанавливается и очищается, но проблема по-прежнему сохраняется.

Как решить эту проблему? Любая помощь очень заметна.

Благодаря

Maven фрагмент

<plugins> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId>    
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <compilerArgument>-proc:none</compilerArgument> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.bsc.maven</groupId> 
       <artifactId>maven-processor-plugin</artifactId> 
       <version>2.0.6</version> 
       <executions> 
        <execution> 
         <id>process</id> 
         <goals> 
          <goal>process</goal> 
         </goals> 
         <phase>generate-sources</phase> 
         <configuration> 
          <!-- source output directory --> 
          <outputDirectory>target/metamodel</outputDirectory> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
+1

Вы пробовали обновленную версию плагина процессора maven (например, 2.2.1)? – willome

+0

Возможно, вы также изменили установку eclipse. Посмотрите на [это] (http://stackoverflow.com/a/7392705/367285) ответ. Я полагаю, что это проблема, и выполнение mvn из командной строки отлично работает. – FrVaBe

ответ

4

Новые версии М2Э жалуйтесь, если плагин Maven не обеспечивает отображение m2e жизненным циклом. Более новый провайдер плагинов представляет такое сопоставление через файл META-INF/m2e/lifecycle-mapping-metadata.xml в своем JAR. Если этого файла нет, то Eclipse жалуется.

Возможно, вы можете отказаться от этих жалоб, добавив сопоставление жизненного цикла для старых плагинов на ваш POM. В данном примере это сопоставление выполняется внутри профиля, который автоматически активируется, когда сборка выполняется в Eclipse (свойство m2e.version задано), и оно неактивно, когда выполняется обычная сборка maven.

<profiles> 
    <profile> 
    <id>m2e</id> 
    <activation> 
     <property> 
     <name>m2e.version</name> 
     </property> 
    </activation> 
    <build> 
     <pluginManagement> 
     <plugins> 
      <plugin> 
      <groupId>org.eclipse.m2e</groupId> 
      <artifactId>lifecycle-mapping</artifactId> 
      <version>1.0.0</version> 
      <configuration> 
       <lifecycleMappingMetadata> 
       <pluginExecutions> 
        <pluginExecution> 
        <pluginExecutionFilter> 
         <groupId>org.bsc.maven</groupId> 
         <artifactId>maven-processor-plugin</artifactId> 
         <versionRange>[2.0.6,)</versionRange> 
         <goals> 
         <goal>process</goal> 
         </goals> 
        </pluginExecutionFilter> 
        <action> 
         <ignore /> 
        </action> 
        </pluginExecution> 
       </pluginExecutions> 
       </lifecycleMappingMetadata> 
      </configuration> 
      </plugin>   
     </plugins> 
     </pluginManagement> 
    </build> 
    </profile> 

В приведенном выше примере отключается плагин в сборках Eclipse. Также возможно включить его, указав в качестве действия <execute />.

Помните, что настройки под pluginExecutionFilter должны соответствовать плагину и целям плагина, который вы хотите сопоставить. Несколько pluginExecution Элементы могут быть указаны для отображения различных плагинов.

Смежные вопросы