2009-09-12 2 views
2

I'am пытается установки затмений среды для разработки пучков (с Maven-расслоение-плагин-BND) и запустить & отлаживать, что пучки равноденствия из затменияКак настроить среду разработки Eclipse, расслоения (Equinox Maven)

I создал набор образцов с org.apache.felix maven-bundle-plugin и может установить и запустить эти пакеты из eclipse equinox,
, но каждый раз, когда мне нужно запустить «установочный файл: C: \ path \ bundle1.jar», «установить файл: C: \ path \ bundle2.jar ", который вызывает боль. я искал конфигурацию запуска, но он только запускает и запускает (плагины) проекты в рабочих пространствах, а не в проектах maven.

Что я сделал - это создать проект maven и добавить зависимости (bundle1, bundle2 и т. Д.) И добавить плагин maven-dependency, чтобы скопировать все зависящие пакеты в одной папке (другая проблема заключается в использовании equimox «_» для определения версия пакетов, но maven использует «-» в качестве делиметра), если я не снимаю версию в автономном приложении equinox, мне нужно предоставить версию пакета в файле config.ini, но я этого не хочу, это правильный способ решить эту проблему?

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-dependency-plugin</artifactId> 
     <executions> 
      <execution> 
      <id>copy-dependencies</id> 
      <phase>package</phase> 
      <goals> 
       <goal>copy-dependencies</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${bundleDirectory}</outputDirectory> 
       <overWriteReleases>false</overWriteReleases> 
       <overWriteSnapshots>true</overWriteSnapshots> 
       <stripVersion>true</stripVersion> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 

Подводя итог, у меня есть пакеты в папке, которая создается с org.apache.felix Maven-расслоением-плагин, как я могу запустить и отладить их от затмения?

ответ

1

Я бы не сказал, что это «правильное» решение, но оно может сработать для вас.

antrun plugin может использоваться для изменения зависимостей, чтобы заменить окончательный дефис символом подчеркивания, поэтому плагин зависимостей не должен лишать версию.

Мое регулярное выражение является ржавым, но из небольшого тестирования появляется следующая конфигурация, которая применит требуемое изменение имени к файлам в каталоге bundleDependency.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <executions> 
    <execution> 
     <id>copy-dependencies</id> 
     <phase>package</phase> 
     <goals> 
     <goal>copy-dependencies</goal> 
     </goals> 
     <configuration> 
     <outputDirectory>${bundleDirectory}</outputDirectory> 
     <overWriteReleases>false</overWriteReleases> 
     <overWriteSnapshots>true</overWriteSnapshots> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 
<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.3</version> 
    <executions> 
    <execution> 
     <phase>package</phase> 
     <configuration> 
     <tasks> 
      <!-- move within same directory is preferred method for a rename--> 
      <move todir="${bundleDirectory}"> 
      <fileset dir="${bundleDirectory}"/> 
      <mapper type="regexp" from="([a-zA-Z0-9\.-]+)(-)([0-9\.]+.jar)" 
       to="\1_\3"/> 
      </move> 
     </tasks> 
     </configuration> 
     <goals> 
     <goal>run</goal> 
     </goals> 
    </execution> 
    </executions> 
    <dependencies> 
    <dependency> 
    <groupId>ant</groupId> 
    <artifactId>ant-nodeps</artifactId> 
    <version>1.6.5</version> 
    </dependency> 
    </dependencies> 
</plugin> 
0

я написал инструмент под названием авто-строитель (http://code.google.com/p/auto-builder). Он рассматривает проекты на основе PDE и генерирует файлы сборки Ant; он поддерживает переходное закрытие по зависимостям и всему этому джазу.

Я написал рецензию: http://empty-set.net/?p=9. Я написал это, потому что инструменты Maven, с которыми я играл, когда были интегрированы с PDE, не «просто работали». В принципе, я хотел сделать кодирование в PDE и иметь CID на основе Хадсона без каких-либо проблем.

Создание файлов Ant - это хорошо, потому что оно дает вам все преимущества декларативного инструмента построения, но оно оставляет вам процедурное описание того, что он делает.

Я ищу дополнительные проекты на основе PDE, чтобы проверить их. Есть несколько репозиториев RFC-0112 Bundle, и у меня есть код для загрузки зависимостей. Если кому-то интересно, то я могу интегрировать загрузку зависимостей с помощью авто-строителя.

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