2013-08-25 1 views
3

Когда я пытаюсь импортировать проект maven в eclispe juno, я получаю следующую ошибку. jacoco maven error in eclipse.Записей не найдено для ввода jacoco-maven-plugin

У меня есть следующие строки в моем pom.xml.

</plugin> 
     <plugin> 
     <groupId>org.jacoco</groupId> 
     <artifactId>jacoco-maven-plugin</artifactId> 
     <version>0.6.3.201306030806</version> 
     <configuration> 
      <destfile>${basedir}/target/jacoco/jacoco.exec</destfile> 
      <datafile>${basedir}/target/jacoco/jacoco.exec</datafile> 
     </configuration> 
     <executions> 
      <execution> 
      <id>jacoco-initialize</id> 
      <goals> 
       <goal>prepare-agent</goal> 
      </goals> 
      </execution> 
      <execution> 
      <id>jacoco-site</id> 
      <phase>package</phase> 
      <goals> 
       <goal>report</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 

Почему maven дает эту ошибку? Есть идеи.

ответ

7

Плагин m2e сообщает об ошибке, поскольку он не может найти плагин m2e, который может обрабатывать конфигурацию и выполнение jacoco-maven-pluign в пределах eclipse.

Таким образом, построение командной строки через maven может привести к другим результатам, чем сборка eclipse.

Вы используете jacoco-maven-plugin, и я не думаю, что это необходимо для установки плагина m2e для jacoco.

Вы можете либо попытаться найти сайт обновления адаптера jacoco m2e, либо установить его, либо переместить jacoco-maven-plugin в профиль и активировать его только тогда, когда вам это нужно.

EDIT

Вы также можете сказать затмение m2e плагин игнорировать конфигурацию jacoco-Maven-плагин. Добавьте follwing конфигурацию плагина к pluginManagement

<pluginManagement> 
    <plugins> 
     <plugin> 
      <groupId>org.eclipse.m2e</groupId> 
      <artifactId>lifecycle-mapping</artifactId> 
      <version>1.0.0</version> 
      <configuration> 
       <lifecycleMappingMetadata> 
        <pluginExecutions> 
         <pluginExecution> 
          <pluginExecutionFilter> 
           <groupId>org.jacoco</groupId> 
           <artifactId>jacoco-maven-plugin</artifactId> 
           <versionRange>[0.0.0,)</versionRange> 
           <goals> 
            <goal>prepare-agent</goal> 
            <goal>report</goal> 
           </goals> 
          </pluginExecutionFilter> 
          <action> 
           <ignore /> 
          </action> 
         </pluginExecution> 
        </pluginExecutions> 
       </lifecycleMappingMetadata> 
      </configuration> 
     </plugin> 
    </plugins> 
</pluginManagement> 

Это должно работать тоже.

Вы найдете более подробную информацию в m2e documentation

+0

Как установить, что? – liv2hak

+0

Вы можете установить его с помощью справки eclipse -> Установить новое программное обеспечение ... и ввести сайт обновления. Таким образом, вы устанавливаете его как «обычный» плагин eclipse, потому что он один. Перезапуск затмения и ошибка m2e должны исчезнуть. –

7

Установите EclEmma плагин с рынка и перезагрузить проекты

+0

Спасибо! Я также попытался указать eclipse на мою локальную установку maven, и добавление этого плагина - это то, что окончательно исправило эту ошибку для меня. – willcwf

+0

Это кажется неправильным - насколько я могу судить, установка плагина EclEmma Eclipse не включает плагин m2e, который может обрабатывать конфигурацию и исполнение jacoco-maven-plugin в Eclipse. Правильное решение - использовать отображение жизненного цикла m2e, как описано здесь http://stackoverflow.com/questions/14843892/jacoco-maven-plugin-plugin-execution-not-covered-by-lifecycle-configuration – vorburger