#maven #eclipse-plugin #eclipse-rcp #dependency-management #tycho
Вопрос:
Ситуация: Приложение Eclipse RCP использует Maven Tycho plugin
, теперь я хочу правильно интегрировать p2-maven-плагин». У меня есть каталог, содержащий все сторонние банки и плагины Eclipse в виде банок.
Как использовать p2-maven-plugin
для создания репозитория p2, который включает в себя все файлы из этого каталога?
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>my.company</groupId>
<artifactId>p2-site</artifactId>
<packaging>pom</packaging>
<version>1.0.0</version>
<build>
<plugins>
<plugin>
<groupId>org.reficio</groupId>
<artifactId>p2-maven-plugin</artifactId>
<version>1.3.0</version>
<executions>
<execution>
<id>default-cli</id>
<!-- How can I get there artifacts located in directory on my local machine??? These libs (in example below) are taken from .m2 maven repo -->
<configuration>
<artifacts>
<artifact>
<id>commons-lang:commons-lang:2.4</id>
</artifact>
<artifact>
<id>commons-lang:commons-lang:2.5</id>
</artifact>
<artifact>
<id>commons-lang:commons-lang:2.6</id>
</artifact>
<artifact>
<id>junit:junit:3.8.2</id>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.5.v20120716</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webAppSourceDirectory>${project.basedir}/target/repository/</webAppSourceDirectory>
<webApp>
<contextPath>/site</contextPath>
</webApp>
<stopKey/>
<stopPort/>
</configuration>
</plugin>
</plugins>
</build>
...
Спасибо!
Редактировать:
Папка с плагинами (JAR), из которой я хочу создать репозиторий p2.
использование плагина tycho extras p2 в моем главном pom — не работает, я думаю, что, возможно, этот фрагмент кода вообще не вызывается… Как я могу это назвать?
Комментарии:
1. Это можно сделать с помощью цели плагина Tycho p2 Extras
publish-features-and-bundles
. Смотрите, например, здесь .2. @howlger извините, но это не работает, см. ПРАВКУ выше
3.
<sourceLocation>
это каталог, содержащий папкиplugins
иfeatures
, а не его родительский. На скриншоте показано, что вы все еще ограничиваетесь IDE без поддержки Eclipse и используете Eclipse 3.7.2, который отстает почти на десять лет. Больно просто смотреть.