Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

基于Maven构建OSGI(三)

来源: 未知 分享至:

基于Maven构建OSGI

 

概述:

              OSGI的出现弥补了Java模块化的不足。而模块化和动态化的概念实现了我们梦想中的“即插即用”的系统。本文以Maven为工具构建基于Maven的OSGI程序。这其中包括工程的创建、容器的启动、Bundle的导入和Bundle的创建等等。开发环境使用的是E c lipse 3.6。

 

1、使用Maven创建一个OSGI项目 
              在Eclipse中选择New---Project。弹出如下窗口:

 


 

然后选择Maven---Maven Project。如下图所示:

 


 

点击  Next  ,进行下一步的选择。如下图:

 

 


在Filter中选择过滤条件,输入OSGI。如下图:

 


 

选择OPS4J的pax construct。继续next。

 

输入Group Id 和Artifact Id,点击Finish完成。 (找到工程下父级pom.xml文件,删除 maven-pax-plugin 插件的版本信息,也就是删除<version></version>该元素。可以使用Maven install 进行验证。 )

 

PS: 该系列操作也可以使用下面的命令进行完成:

mvn org.ops4j:maven-pax-plugin: create-project

-DgroupId=com.company.osgi

-DartifactId=test-osgi

-Dversion=0.1

 

2、启动OSGI容器 
             

              选择运行按钮 旁边的三角箭头,选择 

Run Configuration。如下图:

 


选择Maven Build,在此选项上右键点击选择 New。如下图:

 



 

在该图示中,可以选择使用Browse Workspace或者 Browse File System来选择项目,在此可以使用Browse Workspace来选择我们新建立的项目。在Goals中输入 install  pax:provision。

如下图:

 


点击Run直接运行。

这时刷新项目会生成一个runner的目录。

 

3、使用Maven导入OSGI  Bundle

 

              根据如上所示步骤,新建立maven 构建命令,命令依次如下:

W ebconsole(这不是命令)

pax:import-bundle

-DgroupId=org.apache.felix -DartifactId=org.apache.felix.webconsole -Dversion=3.1.8

Servlet(这不是命令)

pax:import-bundle

-DgroupId=org.apache.felix -DartifactId=javax.servlet -Dversion=1.0.0

 

Scr(这不是命令)

pax:import-bundle

-DgroupId=org.apache.felix -DartifactId=org.apache.felix.scr -Dversion=1.0.8

 

jetty(这不是命令)

pax:import-bundle

-DgroupId=org.apache.felix -DartifactId=org.apache.felix.http.jetty -Dversion=2.2.0

 

其中scr的最新版本为1.6.0,但是在环境中不能运行成功,所以改为了1.0.8。接下来运行mvn install ,或者使用菜单方式 Run As运行 Maven install。然后运行上图中所配置的

install pax:provision。运行成功后将会显示如下图所类似的信息:

 

 


 

这时在浏览器中输入地址: http://localhost:8080/system/console/ 。用户名和密码均为admin,登陆成功后将会显示,如下页面:

 


该页面显示出了bundle的信息。可以对bundle进行stop、update、uninstall等操作。

4、使用Maven创建OSGI Bundle

 

新建构建命令如下:

pax:create-bundle

-Dpackage=IQueryWord -Dname=QueryWord -Dversion=0.0.1-SNAPSHOT

( -Dpackage  -Dname 的内容可以被替换)

 

接着执行 install pax:provision。

 

5、替换OSGI 框架的实现

运行如下命令:

pax:provision  Dframework=kf

或者:

pax:provision  Dframework=equinox


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史