Как настроить среду разработки пакетов (Eclipse Equinox Maven) - PullRequest
2 голосов
/ 12 сентября 2009

Я пытаюсь настроить среду затмения для разработки пакетов (с помощью maven-bundle-plugin-bnd) и запустите и отладьте связку равноденствия из eclipse

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

Что я сделал, так это создал проект maven и добавил зависимости (bundle1, bundle2 и т. Д.) И добавил плагин maven-dependency-plugin для копирования всех зависимых пакетов в одну папку (другая проблема - равноденствие, используя разделитель "_" для определения версии из комплектов, но maven использует «-» в качестве разделителя), если я не раздеваю версию в автономном приложении равноденствия, мне нужно предоставить версию комплекта в файле 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-bundle-plugin, как я могу запустить и отладить их из eclipse?

Ответы [ 2 ]

1 голос
/ 13 сентября 2009

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

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

Мое регулярное выражение ржавое, но после небольшого тестирования следующая конфигурация позволяет применить требуемое изменение имени к файлам в каталоге 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 голосов
/ 06 марта 2011

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

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

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

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

...