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异常。
分享到:
相关推荐
- **构建与运行**:使用Maven或Gradle构建Bundle,然后在OSGi运行时环境中启动。 通过阅读《Spring OSGi 入门.pdf》和实践samples中的示例,你可以逐步掌握如何在OSGi环境中使用Spring框架。理解并熟练运用Spring ...
1. **创建bundle项目**:使用如BndTools这样的工具,或者直接使用Maven或Gradle的OSGi插件,来设置bundle的MANIFEST.MF文件,定义bundle的导出和导入包。 2. **定义服务和组件**:使用DS或Spring的XML配置,声明...
1. **设置项目结构**:确保你的Eclipse RCP项目包含了OSGi兼容的构建配置,例如使用Bndtools或Maven Bundle Plugin。 2. **导入Spring库**:引入Spring的OSGi兼容版本,这些版本通常包含在Spring DM(Dependency ...
- **打包和部署**: 将 Spring 应用转换为 OSGi 捆绑,可以使用 Maven 或 Gradle 的 OSGi 插件。 - **运行时选择**: 有多个 OSGi 容器可供选择,如 Apache Felix、Equinox、Knopflerfish 等,它们提供了不同的特性和...
2. **Documentation**:可能包括用户指南、API文档、快速入门教程等,帮助开发者了解如何在OSGi环境中配置和使用Spring。 3. **Examples**:提供了一些示例项目,演示了如何在OSGi容器中创建、部署和管理Spring应用...
在本文中,我们将深入探讨如何基于VirgoServer进行Spring Osgi Web开发,这是一个涉及OSGi容器、Spring框架和Web应用程序的集成技术。首先,我们需要确保拥有正确的开发环境和工具,包括Spring Tool Suite (STS),...
为了在OSGi中运行Spring配置,可以使用Spring Dynamic Modules(SDM)或Spring Boot的OSGi支持。SDM是一个库,它使得Spring可以在OSGi环境中运行。配置好后,Spring容器会在OSGi bundle启动时自动初始化。 最后,...
1. **创建Bundle**:使用BND或Apache Felix Maven Bundle Plugin等工具,可以轻松创建符合OSGi规范的Bundle。 2. **服务注册与查找**:通过BundleContext注册服务,其他Bundle可以使用ServiceTracker或Service...
1. **构建OSGi应用**:使用Maven或Gradle的OSGi插件,可以方便地构建符合OSGi规范的模块化项目。 2. **Spring与OSGi集成**:Spring Dynamic Modules (SDM) 提供了将Spring应用与OSGi环境结合的工具,使Spring应用...
OSGI(Open Services Gateway Initiative)是一种开放标准,用于创建模块化和动态的Java应用程序。它为Java开发人员提供了一个框架,使他们能够构建可热插拔的组件,从而实现更灵活、可扩展和可维护的软件系统。在本...
1. **创建OSGi bundle**:使用Maven或Eclipse等工具创建符合OSGi规范的Java模块。 2. **配置Spring DM**:编写XML配置文件,定义服务、引用和其他依赖关系。 3. **打包与部署**:将bundle和配置文件打包成JAR,并...
1. **创建 Bundle**:使用 Maven 或其他构建工具创建一个 OSGi Bundle。 2. **配置 Manifest**:在 Bundle 的 MANIFEST.MF 文件中配置必要的元数据,如 Bundle-SymbolicName、Import-Package 等。 3. **配置 Spring ...
通过使用OSGi,开发者可以创建独立的、可重用的模块,这些模块可以在运行时被发现、加载、卸载,从而实现更灵活、可维护的应用程序架构。 在Java世界中,OSGi的主要优势在于其对依赖管理的改进。传统的Java项目往往...
基于VirgoServer进行Spring Osgi Web开发需要配置VirgoServer开发环境,使用Maven和Eclipse Virgo Tools,创建Bundle Project,并配置Spring配置文件。同时,需要实现Servlet类,用于处理请求,并配置classpath和...
### Eclipse Maven Spring DM(译文)- ...综上所述,本指南全面覆盖了从开发环境搭建到项目创建、配置、测试直至最终部署的整个过程,旨在帮助开发者深入了解如何使用Eclipse、Maven和Spring DM进行OSGi平台项目开发。
- **利用Maven和相关插件**:如Pax-construct和Pax-runner,它们可以帮助创建和管理OSGi Bundle,同时Maven的bnd插件可以生成符合OSGi规范的MANIFEST.MF文件。 - **以Plug-in方式开发**:直接在Eclipse的OSGi环境中...
internal->spring-osgi-bundle-archetype 该骨架用于创建Spring-OSGi原型。OSGi是一个模块化平台,Spring与OSGi的结合可以使应用程序具备动态可扩展性。 #### 25. internal->confluence-plugin-archetype 此骨架...