Неизвестная упаковка: плагин eclipse в Maven

Я хочу создать проект в Maven, используя упаковку eclipse-plugin, но получаю следующую ошибку для своего POM:

[ERROR] Unknown packaging: eclipse-plugin @ line 15, column 13 .

пом.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent> 
    <relativePath>../releng/pom.xml</relativePath>
    <groupId>net.sf.logsaw</groupId>
    <artifactId>parent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent> 

  <artifactId>net.sf.logsaw.core</artifactId>
  <version>1.0.4-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging> 

  <name>LogSaw Core Plugin</name> 
</project>

person dev    schedule 14.07.2013    source источник
comment
поделитесь пожалуйста кодом...   -  person ritesh    schedule 14.07.2013
comment
‹проект xmlns=maven.apache.org/POM/4.0.0 xmlns:xsi =w3.org/2001/XMLSchema-instance xsi:schemaLocation=maven.apache.org/POM/4.0.0 maven.apache.org/xsd/maven-4.0.0.xsd› ‹modelVersion›4.0.0‹/modelVersion › ‹parent› ‹relativePath›../releng/pom.xml‹/relativePath› ‹groupId›net.sf.logsaw‹/groupId› ‹artifactId›parent‹/artifactId› ‹version›1.0.0-SNAPSHOT‹/версия › ‹/parent› ‹artifactId›net.sf.logsaw.core‹/artifactId› ‹version›1.0.4-SNAPSHOT‹/версия› ‹packaging›eclipse-plugin‹/packaging› ‹name›LogSaw Core Plugin‹/name >   -  person dev    schedule 14.07.2013
comment
@ritesh: этот комментарий не был полезен. Вся соответствующая информация присутствует в исходном вопросе.   -  person oberlies    schedule 14.07.2013


Ответы (1)


Тип упаковки eclipse-plugin определяется расширением сборки Maven под названием Tycho. Чтобы использовать типы упаковки Tycho, вам необходимо настроить Tycho как расширение сборки:

<build>
  <plugins>
    <plugin>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>tycho-maven-plugin</artifactId>
      <version>${tycho-version}</version>
      <extensions>true</extensions>
    </plugin>
  </plugins>
</build>

Кроме того, Tycho требует присутствия дополнительных файлов метаданных, например. манифест OSGi для eclipse-plugin модулей. Другое существенное отличие проекта Tycho от обычного проекта Maven заключается в том, что вам необходимо настроить так называемую целевую платформу, например определив репозиторий с помощью layout=p2, если ваш проект ссылается на какие-либо внешние артефакты. Для начала вы можете взглянуть на этот пример проекта.

Для получения дополнительной информации вы также можете посетить вики-документацию Tycho, например. на странице справочной карты.

person oberlies    schedule 14.07.2013
comment
Теперь я получаю следующую ошибку: org.apache.maven.InternalErrorException: Внутренняя ошибка: java.lang.RuntimeException: Не удалось разрешить артефакт спецификации целевой платформы net.sf.logsaw:parent:target:workspace:1.0.0-SNAPSHOT и здесь является частью моего pom: ‹plugin› ‹groupId›org.eclipse.tycho‹/groupId› ‹artifactId›target-platform-configuration‹/artifactId› ‹version›${tycho-version}‹/version› ‹configuration› ‹ target› ‹artifact› ‹groupId›net.sf.logsaw‹/groupId› ‹artifactId›parent‹/artifactId› ‹version›1.0.0-SNAPSHOT‹/версия› ‹classifier›workspace‹/classifier› ‹/artifact› ‹ /цель> - person dev; 15.07.2013
comment
и когда я комментирую целевой элемент, я получаю эту ошибку: Отсутствует требование: net.sf.logsaw.core 1.0.0.qualifier требует «bundle org.eclipse.core.runtime 0.0.0», но его не удалось найти. Любая идея плз? - person dev; 15.07.2013
comment
@ritesh Блог sonatype, на который вы ссылаетесь, устарел во многих аспектах. Например. -Dtcho.targetPlatform устарел. - person oberlies; 15.07.2013
comment
@dev Дополнительные вопросы не приветствуются в stackoverflow. Проверьте, есть ли ответ на ваш вопрос где-то еще, или задайте новый вопрос. - person oberlies; 15.07.2013