Как заставить плагин M2E eclipse понимать упаковку Bundle

Я почти новичок в Osgi. Я использую Eclipse 3.6 Helios для создания своего первого пакета Felix, но обнаружил, что M2E не понимает упаковку пакетов...

Project build error: Unknown packaging: bundle

Project build error: Unresolveable build extension: 
Plugin org.apache.felix:maven-bundle-plugin:2.0.0 or one of its dependencies could not be resolved: 
Failed to collect dependencies for org.apache.felix:maven-bundle-plugin:jar:2.0.0 ()

Когда я выполнял поиск в Google, это была ошибка в Maven 2, но исправленная в Maven 3 с использованием M2E.

Кроме того, я использую Window XP и под прокси-сервером, который, я думаю, я удачно настроил, другие соединения в Eclipse работают нормально...

Поэтому я не знаю, как заставить M2E понимать пакетную упаковку?


person Nguyen Manh Cuong AtomIX    schedule 16.03.2012    source источник


Ответы (2)


Используя эти настройки, импортируйте проект maven. Если отсутствуют соединители (которые связывают цели maven и плагины eclipse), кнопка «Далее» должна быть включена. Нажмите «Далее» и автоматически разрешите соединители для установки плагинов Tycho. Отныне ваш проект будет иметь плагиновый характер.

P.S Убедитесь, что в проекте есть хотя бы один класс для компиляции, иначе maven-bundle-plugin будет жаловаться.

<packaging>bundle</packaging>
<build>
<plugins>
    <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>2.3.7</version>
        <extensions>true</extensions>
    </plugin>
</plugins>

person ebelanger    schedule 20.06.2012
comment
+1 за подсказку о разъемах. Я обнаружил, что возможность их поиска также доступна в качестве быстрого исправления: щелкните правой кнопкой мыши маркер проблемы в POM (рядом с тегом «выполнение»), выберите быстрое исправление и найдите параметр для поиска соединителей. - person Stijn de Witt; 15.03.2013

Justy FYI, ответ ebelanger выше привел меня в правильном направлении. Если вы не видите всплывающее окно eclipse с запросом на разрешение соединений, вам нужно добавить родительский pom, который объявляет плагин для eclipse.

В моем случае у меня был дочерний проект pom, который я импортировал в eclipse (но не родительский pom). Обратите внимание, что фактический decleragion плагина для maven-bundle-plugin был в родительском pom, а не в дочернем pom eclipse.

Только с импортированным дочерним элементом панель проблем сборки Eclipse показывала ошибки о невозможности найти зависимость maven-bundle-plugin, но опция «быстрое исправление» после щелчка правой кнопкой мыши по ошибке на панели проблем была недоступна.

Импорт родительского проекта в eclipse вызвал всплывающее окно с запросом на установку соединителей плагинов eclipse для поддержки плагина maven-bundle-plugin.

person Jason Baker    schedule 30.08.2017