`
mqchange
  • 浏览: 33082 次
  • 来自: 北京
社区版块
存档分类
最新评论

基于Maven构建OSGI

阅读更多

 

 迁移自个人百度空间博客,翻译自Nexus和maven相关文档!

 

基于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

 

 

转载请注明文章出处!!!!!!

 

 

迁移自个人百度空间博客,翻译自Nexus和maven相关文档!

  • 大小: 36.1 KB
  • 大小: 28.2 KB
  • 大小: 38 KB
  • 大小: 38 KB
  • 大小: 576 Bytes
  • 大小: 1.2 KB
  • 大小: 15.6 KB
  • 大小: 29.2 KB
  • 大小: 29.9 KB
  • 大小: 168.1 KB
  • 大小: 5.2 KB
分享到:
评论

相关推荐

    构建基于Maven的OSGI

    首先,我们需要创建一个新的Maven项目,并选择OPS4J的Pax Construct作为构建OSGi应用程序的基础。具体步骤如下: 1. **在Eclipse中创建项目**: - 打开Eclipse,选择`File &gt; New &gt; Project`。 - 在弹出的窗口中...

    osgi+maven+springdm文档集

    "基于Maven构建OSGI.docx"可能阐述了如何结合Maven与OSGI,使得在Maven项目中管理OSGI模块变得更加简单和高效。 **3. Spring DM** Spring DM(Spring Dynamic Modules)是Spring框架的一个扩展,专门用于OSGI环境中...

    pax-web基本配置包

    在本文中,我们将深入探讨Pax Web的基本配置,以及如何基于Maven构建OSGI项目,并利用pax-runner插件进行二次开发。 **1. Pax Web介绍** Pax Web的核心特性包括: - 支持多种Servlet容器,如Jetty、Tomcat和...

    Intellij 13下OSGi的Maven例子

    在这个"IntelliJ 13下OSGi的Maven例子"中,我们将会探索如何在IntelliJ IDEA 13中设置和运行一个基于OSGi的Maven项目。首先,我们需要了解OSGi的核心概念,如Bundle(模块)、Service、生命周期管理等。Bundle是OSGi...

    基于virgo环境的OSGI+Maven的web开发代码下载(spring+hibernate+GWT)

    标题中的“基于virgo环境的OSGI+Maven的web开发代码下载”表明这是一个使用OSGi(模块化Java系统)和Maven构建的Web应用程序项目,运行在Virgo服务器上。Virgo是SpringSource推出的一个OSGi应用服务器,它支持Spring...

    构建工具:maven简介

    Maven是一个广泛使用的Java项目管理和构建自动化工具,它基于项目对象模型(POM)的概念,能够管理项目的生命周期,包括编译、测试、打包、发布等。Maven使得开发者可以更加专注于代码的编写,而不是繁琐的构建过程...

    osgi-bundle-hello-world:使用Maven的演示OSGI捆绑包

    标题中的“osgi-bundle-hello-world”是一个示例项目,展示了如何使用Maven构建一个OSGi(Open Services Gateway Initiative)捆绑包。OSGi是一种Java模块化系统,它允许开发者将应用程序分解为独立的、可重用的服务...

    基于VirgoServer进行Spring Osgi Web开发

    在本文中,我们将深入探讨如何基于VirgoServer进行Spring Osgi Web开发,这是一个涉及OSGi容器、Spring框架和Web应用程序的集成技术。首先,我们需要确保拥有正确的开发环境和工具,包括Spring Tool Suite (STS),...

    eclipse maven 打包bundle

    5. **运行Maven构建**: 在Eclipse中,可以通过右键点击项目 -&gt; Run As -&gt; Maven Build,然后在Goals输入框中填写`install`或`package`来执行打包操作。这将根据pom.xml中的配置生成bundle文件。 6. **部署和运行...

    基于OSGi的Web应用开发系列(全).pdf

    为了在OSGi环境中有效地开发,通常会使用一些工具,如Maven进行依赖管理和构建,Pax-construct和Pax-runner辅助构建OSGi应用,以及Eclipse作为IDE进行开发。Maven的使用可以简化项目结构、依赖管理和构建过程,但...

    OSGI 开发文档中文的

    5. **EnqiNX和OSGI的关系**:EnqiNX是一个基于OSGI的开源企业应用框架,它扩展了OSGI规范,提供了更高级的企业级功能,如安全管理、配置管理、事件管理和事务管理等。 6. **插件模块开发**:如何设计和实现OSGI插件...

    Maven管理ServiceMix工程

    Maven构建生命周期** Maven的构建生命周期包括清理、编译、测试、打包、验证、集成测试、部署等多个阶段。对于ServiceMix项目,我们通常关心的是打包阶段,Maven可以将项目打包成kar或bundle格式,这些格式是...

    乱凑的一个osgi的demo

    这些工具帮助开发者管理和构建OSGi项目,确保依赖关系的正确解决。 由于没有具体的文件列表,我们只能基于常见的OSGi项目结构来推测可能包含的内容: - **app01**:这可能是项目的根目录,里面可能包含着bundle的源...

    OSGi 入门+进阶+实战

    1. **构建OSGi应用**:使用Maven或Gradle的OSGi插件,可以方便地构建符合OSGi规范的模块化项目。 2. **Spring与OSGi集成**:Spring Dynamic Modules (SDM) 提供了将Spring应用与OSGi环境结合的工具,使Spring应用...

    Osgi的简单实现

    - 构建bundle:使用构建工具如Maven或Gradle,配置相应的Osgi插件来生成bundle JAR文件。 4. **Eclipse中的Osgi实现** 描述中提到的"简单用代码解释了过程"可能指的是通过Eclipse插件开发的过程。在Eclipse中,...

    osgi开发jar包

    5. **打包工具**:为了方便创建和管理OSGi bundle,有一些工具可以帮助开发者,如Apache Maven的maven-bundle-plugin或Gradle的osgi plugin。这些工具能够自动生成满足OSGi规范的MANIFEST.MF,并将依赖关系正确地...

    Maven 的41种骨架功能介绍

    Maven作为一款强大的构建工具,在软件开发过程中扮演着极其重要的角色。它不仅能够帮助开发者自动化构建过程,还能通过其骨架(Archetype)功能来快速搭建项目的初始结构,极大地提高了开发效率。下面将详细介绍这41...

    OSGi in Practice 完整版

    - **构建工具**:Maven和Ivy等构建工具可以帮助管理项目依赖。 - **Eclipse插件系统**:Eclipse的插件架构也是一种模块化方法。 - **JSR 277**:这是另一种试图解决模块化问题的Java规范提案。 #### 二、OSGi入门 ...

    osgi进阶——11111

    Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具,它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,比传统的XML更加简洁明了。利用Gradle打包项目,可以实现自动化、高效管理项目依赖...

Global site tag (gtag.js) - Google Analytics