2014-09-09 2 views
3

EDIT: Я только что обновил мои установки Eclipse, от Кеплера до Luna - все мои Maven проекты были запущены штраф до обновленияPOM для Maven Plugin Compiler Jar отсутствует

Я получаю ошибку, которая предотвращение мой Maven проект с установкой:

The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1 is missing, no dependency information available 

И когда я перейти к жизненным циклом карт Maven в Eclipse, я вижу

compiler:compile  | error 
compiler:text Compile | error 

У меня есть maven-compiler-plugin: jar: 3.1 (включая файл POM) в моем репозитории .m2 и хотел бы использовать это вместо этого.

Как это можно настроить в Eclipse? Альтернативно, если это не решение проблемы, как это можно решить?

ответ

4

Вам нужно отредактировать свой pom.xml, чтобы установить версию плагина компилятора, который будет использоваться. Как описано на plugin's homepage, настроить Maven-компилятор-плагин в build -сечением pom.xml вашего проекта следующим образом:

<project> 
    ... 
    <build> 
    <pluginManagement> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
      <!-- put your configurations here --> 
      </configuration> 
     </plugin> 
     </plugins> 
    </pluginManagement> 
    </build> 
    ... 
</project> 

Если вы хотите использовать локальное хранилище вашей установки Maven (вместо Встроенная версия Eclipse), перейдите в Настройки -> Maven -> Установки и добавьте в нее установку Maven.

+0

Шутка в том, что в Luna встроенная среда исполнения Maven по-прежнему будет использоваться для разрешения зависимостей, даже если вы настроите собственное время работы Maven. Мне пришлось переопределить параметр settings.xml, а не устанавливать собственное время выполнения. – Gimby

+0

О, хорошо, я этого не знал. Но опять же, я ожидал бы, что встроенная среда выполнения загрузит артефакты, недоступные в локальном репозитории. Явная установка версии maven-compiler-plugin в pom должна фактически исправить проблему OP (я бы надеялся, по крайней мере). –

+0

Если вы не укажете версию самостоятельно, Maven будет использовать последнюю версию плагина. Поскольку, по-видимому, версия 2.5.1 используется здесь, я также думаю, что версия жестко закодирована в помпе где-то. Возможно, он настолько старый, что он несовместим с Maven 3. – Gimby

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