`
非飞
  • 浏览: 80326 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用Maven快速创建Spring Osgi Bundle

    博客分类:
  • Java
阅读更多

Osgi是什么,干什么的没有必要说了。从接触它到现在已经好几个年头了。如今Osgi已经是越来越热了,害的我都有点想把家里的暖气停掉。加上Spring发布了最新的spring osgi 1.1.2和spring dm server 1.0.0,很大程度上降低了开发和部署基于osgi的java web应用的难度。

 

下面先说说如何通过spring-osgi-bundle-archetype来创建一个采用maven管理的spring osgi bundle项目。

  • 使用mvn archetype:generate来创建项目。(archetype:create已经被打上了deprecated的烙印)
  • 在eclipse中导入刚才创建的项目。
  • 启用Maven来进行依赖管理。
  • 运行自动生成的三个单元测试。(应该能够通过,显示谁看了都舒服的绿条条,除了整天看中国股市的朋友)

提升使用的slf4j,spring和spring osgi的版本:

  • 打开pom.xml文件。
  • 修改properties部分的内容。
    <properties>
    	<slf4j.version>1.5.2</slf4j.version>
    	<spring.maven.artifact.version>2.5.5</spring.maven.artifact.version>
    	<spring.osgi.version>1.1.2</spring.osgi.version>
    	<equinox.ver>3.2.2</equinox.ver>
    </properties>
     
  • 删除dependencies中对org.osgi.core的依赖定义。
    <dependency>
         <groupId>org.osgi</groupId>
         <artifactId>org.osgi.core</artifactId>
         <version>4.0</version>
    </dependency>
     如果不删除,运行BeanOsgiIntegrationTest时将会遇到java.lang.NoClassDefFoundError: org.osgi.vendor.framework property not set异常。
3
0
分享到:
评论
2 楼 kaqike 2011-06-08  
不错,很顺手
1 楼 dearshor 2008-11-23  
支持一下。对OSGi很有兴趣。

相关推荐

    Spring OSGI 快速入门中文教程

    - **构建与运行**:使用Maven或Gradle构建Bundle,然后在OSGi运行时环境中启动。 通过阅读《Spring OSGi 入门.pdf》和实践samples中的示例,你可以逐步掌握如何在OSGi环境中使用Spring框架。理解并熟练运用Spring ...

    spring-osgi.jar及其依赖包

    1. **创建bundle项目**:使用如BndTools这样的工具,或者直接使用Maven或Gradle的OSGi插件,来设置bundle的MANIFEST.MF文件,定义bundle的导出和导入包。 2. **定义服务和组件**:使用DS或Spring的XML配置,声明...

    在Eclipse RCP中应用Spring OSGI 管理bean(一)

    1. **设置项目结构**:确保你的Eclipse RCP项目包含了OSGi兼容的构建配置,例如使用Bndtools或Maven Bundle Plugin。 2. **导入Spring库**:引入Spring的OSGi兼容版本,这些版本通常包含在Spring DM(Dependency ...

    Spring OSGi 入门.pdf

    - **打包和部署**: 将 Spring 应用转换为 OSGi 捆绑,可以使用 Maven 或 Gradle 的 OSGi 插件。 - **运行时选择**: 有多个 OSGi 容器可供选择,如 Apache Felix、Equinox、Knopflerfish 等,它们提供了不同的特性和...

    spring-osgi-1.2.0.zip

    2. **Documentation**:可能包括用户指南、API文档、快速入门教程等,帮助开发者了解如何在OSGi环境中配置和使用Spring。 3. **Examples**:提供了一些示例项目,演示了如何在OSGi容器中创建、部署和管理Spring应用...

    基于VirgoServer进行Spring Osgi Web开发

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

    eclipse下构建spring与OSGI项目

    为了在OSGi中运行Spring配置,可以使用Spring Dynamic Modules(SDM)或Spring Boot的OSGi支持。SDM是一个库,它使得Spring可以在OSGi环境中运行。配置好后,Spring容器会在OSGi bundle启动时自动初始化。 最后,...

    Java OSGI 相关资料

    1. **创建Bundle**:使用BND或Apache Felix Maven Bundle Plugin等工具,可以轻松创建符合OSGi规范的Bundle。 2. **服务注册与查找**:通过BundleContext注册服务,其他Bundle可以使用ServiceTracker或Service...

    OSGi 入门+进阶+实战

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

    OSGI 入门资料PDF

    OSGI(Open Services Gateway Initiative)是一种开放标准,用于创建模块化和动态的Java应用程序。它为Java开发人员提供了一个框架,使他们能够构建可热插拔的组件,从而实现更灵活、可扩展和可维护的软件系统。在本...

    spring_dm包

    1. **创建OSGi bundle**:使用Maven或Eclipse等工具创建符合OSGi规范的Java模块。 2. **配置Spring DM**:编写XML配置文件,定义服务、引用和其他依赖关系。 3. **打包与部署**:将bundle和配置文件打包成JAR,并...

    Spring Dynamic Modules Reference Guide中文版

    1. **创建 Bundle**:使用 Maven 或其他构建工具创建一个 OSGi Bundle。 2. **配置 Manifest**:在 Bundle 的 MANIFEST.MF 文件中配置必要的元数据,如 Bundle-SymbolicName、Import-Package 等。 3. **配置 Spring ...

    《OSGi实战》及其相关代码

    通过使用OSGi,开发者可以创建独立的、可重用的模块,这些模块可以在运行时被发现、加载、卸载,从而实现更灵活、可维护的应用程序架构。 在Java世界中,OSGi的主要优势在于其对依赖管理的改进。传统的Java项目往往...

    学位论文-—基于virgoserver进行springosgiweb开发.doc

    基于VirgoServer进行Spring Osgi Web开发需要配置VirgoServer开发环境,使用Maven和Eclipse Virgo Tools,创建Bundle Project,并配置Spring配置文件。同时,需要实现Servlet类,用于处理请求,并配置classpath和...

    EclipseMavenSpringDM(译文)- 中文版

    ### Eclipse Maven Spring DM(译文)- ...综上所述,本指南全面覆盖了从开发环境搭建到项目创建、配置、测试直至最终部署的整个过程,旨在帮助开发者深入了解如何使用Eclipse、Maven和Spring DM进行OSGi平台项目开发。

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

    - **利用Maven和相关插件**:如Pax-construct和Pax-runner,它们可以帮助创建和管理OSGi Bundle,同时Maven的bnd插件可以生成符合OSGi规范的MANIFEST.MF文件。 - **以Plug-in方式开发**:直接在Eclipse的OSGi环境中...

    Maven 的41种骨架功能介绍

    internal-&gt;spring-osgi-bundle-archetype 该骨架用于创建Spring-OSGi原型。OSGi是一个模块化平台,Spring与OSGi的结合可以使应用程序具备动态可扩展性。 #### 25. internal-&gt;confluence-plugin-archetype 此骨架...

Global site tag (gtag.js) - Google Analytics