Как включить зависимости Maven в файл манифеста

Я разрабатываю плагин для приложения OSGI, используя maven для компиляции. Чтобы установить плагин, приложение OSGI должно прочитать информацию о зависимостях плагина. Эта информация должна быть предоставлена ​​в файле MANIFEST.MF. Мне интересно, как использовать Virgo Tooling для создания правильного файла MANIFEST.MF.

Эти зависимости я хотел бы включить в MANIFEST.MF введите здесь описание изображения

ОБНОВЛЕНИЕ Согласно ответу, я использовал Apache Felix

В pom.xml я добавил

<plugin>
  <artifactId>maven-jar-plugin</artifactId>
  <configuration>
    <archive>  
      <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
    </archive> 
  </configuration>
</plugin>  
<plugin>   
  <groupId>org.apache.felix</groupId>
  <artifactId>maven-bundle-plugin</artifactId>
  <executions>
    <execution>
      <id>bundle-manifest</id>
      <phase>process-classes</phase>
      <goals>    
        <goal>manifest</goal>
      </goals>   
    </execution>
  </executions>
</plugin>

загрузил maven-bundle.jar и выполнил команду mvn org.apache.felix:maven-bundle-plugin:manifest, которая создала файл .jar с манифестом, но манифест содержал только следующую информацию

Manifest-Version: 1.0
Implementation-Vendor: The Apache Software Foundation
Implementation-Title: Maven Bundle Plugin
Implementation-Version: 3.2.0
Implementation-Vendor-Id: org.apache.felix
Built-By: cziegeler
Build-Jdk: 1.7.0_80
Specification-Vendor: The Apache Software Foundation
Specification-Title: Maven Bundle Plugin
Created-By: Apache Maven 3.3.9
Specification-Version: 3.2.0
Archiver-Version: Plexus Archiver

Есть идеи, что я сделал не так?


person mr. Holiday    schedule 28.07.2016    source источник


Ответы (1)


Лично я бы сгенерировал файл MANIFEST.MF с помощью Подключаемый модуль Apache Felix Maven Bundle

Попробуйте добавить некоторую конфигурацию плагина в файл проекта pom.xml.

Вот начало, но вы должны прочитать документацию и найти правильные инструкции, которые точно будут соответствовать вашим потребностям. Было бы полезно, если бы вы могли предоставить пример файла MANIFEST.MF.

<plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>3.2.0</version>
            <extensions>true</extensions>
            <configuration>
                <instructions>
                    <Embed-Dependency>*;scope=compile|runtime;inline=false</Embed-Dependency>
                </instructions>
            </configuration>
            <executions>
                <execution>
                    <id>generate-manifest</id>
                    <goals>
                        <goal>manifest</goal>
                    </goals>
                    <phase>generate-resources</phase>
                </execution>
            </executions>
        </plugin>

С такой конфигурацией файл MANIFEST.MF будет сгенерирован на этапе «генерировать ресурсы».

person Gauthier JACQUES    schedule 28.07.2016
comment
Не могли бы вы добавить более подробную информацию о решении, которое вы предоставляете? - person abarisone; 28.07.2016
comment
Взгляните на цель манифеста здесь: felix.apache.org/documentation/subprojects/ - person Gauthier JACQUES; 28.07.2016