2016-07-28 4 views
0

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

Эти зависимости я хотел бы включить в MANIFEST.MF enter image description here

UPDATE Согласно ответу я использовал 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 

Любые идеи, что я сделал не так?

ответ

2

Лично я бы создать файл MANIFEST.MF с Apache Felix Maven Bundle Plugin

Try, чтобы добавить некоторую конфигурацию плагина в файле 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 будет сгенерирован во время фазы генерации ресурсов.

+0

Не могли бы вы предоставить более подробную информацию о решении, которое вы предоставляете? – abarisone

+0

Взгляните на цель «манифест» здесь: http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html#adding-osgi-metadata-to-existing- projects-without-change-the-packaging-type –

+0

Я добавил обновление, не могли бы вы взглянуть –

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