使用Maven构建OSGi应用程序

Jee*_*tha 10 java osgi maven maven-bundle-plugin

我想构建一个符合OSGi标准的多模块应用程序,我在编译后将所有必需的包捆绑在3个文件夹中.我正在使用maven-bundle-pluginmaven-scr-plugin来创建捆绑包.

我想要的是用一个命令在一个osgi容器(Equinox)中运行这个应用程序,希望使用一个脚本.为此我相信我必须创建一个config.ini文件,列出应用程序中的所有bundle.

有没有办法在Maven编译时自己生成这个?或者有更好的方法来获取某些文件夹结构中的所有包,以便应用程序可以立即运行?

Dmy*_*hin 11

您可以在OSGi Maven项目中使用maven-pax-plugin和PaxRunner.查看本教程了解详细信息.

<plugin>  
 <!-- Pax Runner Maven plugin -->  
 <groupId>org.ops4j</groupId>  
 <artifactId>maven-pax-plugin</artifactId>  
 <version>1.4</version>  
 <configuration>  
       <!-- Pax Runner version -->  
       <runner>1.4.0</runner>  
       <!-- OSGi framework type (equinox, felix, knopflerfish) -->  
       <framework>equinox</framework>  
       <provision>  
             <param>--log=debug</param>  
             <param>--workingDirectory=target/runner</param>  
             <!-- bundles that should be installed -->  
             <param>mvn:org.osgi/org.osgi.compendium/4.1.0@2</param>  
             <param>mvn:org.apache.felix/org.apache.felix.eventadmin/1.2.2@3</param>  
             <param>mvn:org.apache.felix/org.apache.felix.log/1.0.0@3</param>  
       </provision>  
 </configuration>  
</plugin>  
Run Code Online (Sandbox Code Playgroud)


Flo*_*cht 4

只需看看 Tycho 及其不同的打包类型(例如 eclipse-application)。

http://www.eclipse.org/tycho/

http://wiki.eclipse.org/Tycho/Packaging_Types

它用于许多商业和开源应用程序。