关于第三方包地加入
eclipse: New-> Other -> Plug-in from existing JAR archives
导入到当前工程中
或者放在MANIFEST.MF的 Bundle-ClassPath: .,下,不过这样会造成jar打包时候有问题
最好的办法:建立一个bundle,让他的Bundle-ClassPath 加入全部的jar为其他的bundle提供服务
spring osgi bundle update操作并不管什么用,需要refresh操作
创建bundle最好的办法是:
下载,http://maven.apache.org/
环境变量 ,添加 MAVEN_HOME : D:\java\apache-maven-2.0.9\,
在path中加入D:\java\apache-maven-2.0.9\bin
如果安装老是失败,建议用 mvn clean install,
如果出现下面的错误,可以忽略
[ERROR] BUILD ERROR
[INFO] ————————————————————————
[INFO] Cannot execute mojo: clean. It requires a project with an existing pom.xm
l, but the build is not using one.
新建一个空的目录,如D:\test\osgi,打开cmd并到刚才建的目录下执行:
mvn archetype:create -DarchetypeGroupId=org.springframework.osgi -DarchetypeArtifactId=spring-osgi-bundle-archetype -DarchetypeVersion=1.1.0 -DgroupId=org.foo -DartifactId=org.foo.my-springdm-bundle -Dversion=0.1
注意是这一行命令, 项目框架用的是spring-osgi-bundle-archetype,如果看到一个新建目录org.foo.my-springdm-bundle,表示已经建好了一个空项目 :-)。
进入项目的根目录,用下面的命令生成MANIFEST.MF file 和 META-INF目录。
cd D:\test\osgi\org.foo.my-springdm-bundle
mvn package
mvn org.apache.felix:maven-bundle-plugin:manifest
最后的生成结果
* Packaged as an OSGi bundle
* META-INF/MANIFEST.MF automatically generated
* src/main/java/<package> public package automatically exported
* src/main/java/<package>/internal private package
* src/main/resources/META-INF/spring/bundle-context.xml is a spring configuration file that defines the simple bean.
* src/main/resources/META-INF/spring/bundle-context-osgi.xml is a spring configuration file ready for you to add bean definitions from the osgi namespace (services, references etc.).
* .project, .classpath, and build.properties files created to enable use of this project directly inside eclipse as a PDE plugin project
分享到:
相关推荐
4. **注意类加载器的兼容性**:确保你的事务管理类和相关的AOP库能在所有相关bundle中被正确识别和加载。 5. **配置MetaType信息**:在DS中,你需要为事务管理器配置MetaType信息,以便在UI配置工具中能够正确显示和...
尽管两者都涉及服务和组件的概念,但OSGI更注重运行时环境的灵活性,而SCA则聚焦于服务组装和部署。 **发展历程**:SCA的早期版本为0.9和0.95,之后在2007年发布了1.0版本。这个规范由BEA、IBM、Oracle等公司共同...
### SpringDM与OSGI概述 #### OSGI概念解析 ...在实际开发过程中,需要注意处理好版本兼容性问题以及依赖管理,以确保项目的顺利进行。此外,合理规划服务的启动顺序也是保证应用稳定运行的关键因素之一。
- **6.9 注意事项**:列出在进行OSGi开发过程中需要注意的关键点,避免常见的陷阱。 #### 七、深入OSGi - **7.1 关于OSGi**:提供对OSGi基本概念和历史背景的概述。 - **7.2 OSGi R4规范** - **7.2.1 Core ...
- **版本兼容性注意:** 《OSGi 实战》与《OSGi 进阶》两本书的部分内容可能已经过时,需要注意与当前使用的Eclipse版本的兼容性问题。例如,在Eclipse 3.4 SR1中,可能需要特别配置某些设置才能顺利执行示例代码。 ...
- **6.9 注意事项**:总结在OSGI开发过程中常见的陷阱和需要注意的细节。 #### 七、深入OSGI - **7.1 关于OSGI**:提供了更深层次的理解,包括其历史背景和发展趋势。 - **7.2 OSGI R4规范** - **7.2.1 Core ...
### OSGI实战知识点概述 #### 一、序言与背景介绍 - **背景**: 作者自工作以来一直关注插件体系结构,从早期接触ant、...它不仅适合初学者入门,也适合有一定经验的开发者深入了解和掌握OSGI的核心概念和技术细节。
这部分提供了基于OSGi的留言板的具体实现细节,包括环境配置、各个功能模块的开发等。 - **环境准备**:介绍所需的开发环境设置,包括OSGi框架的选择、开发工具等。 - **简单MVC框架模块**:使用MVC模式构建应用...
具体实现细节需参考OSGi规范文档。 #### 三、常见Bundle安装失败原因 - **Bundle-RequiredExecutionEnvironment**中指定的执行环境与实际环境不匹配。 - 缺少**Bundle-SymbolicName**字段,导致无法确定Bundle的...
通过定义服务接口和实现,bundle之间可以进行通信和交互,而无需直接依赖对方的实现细节,这极大地增强了系统的可插拔性和可扩展性。 在离线系统的设计中,OSGi的优势在于它的动态性。由于系统可能需要在没有网络...
使用Pax Construct的开发者可以专注于编写业务代码,而不必过于关心底层的OSGi配置细节。这不仅提高了开发效率,也有利于团队协作,因为项目的构建过程变得更加标准化和透明。 在使用Pax Construct时,需要注意的是...
- **使用外部库时的注意事项**:在使用非 OSGi 兼容的外部库时,需要注意的问题和解决方案。 - **问题诊断**:提供了一些调试技巧和策略,帮助开发者解决遇到的问题。 ##### 3.3 服务注册 - **将 Spring Bean 注册...
"Ant的使用.txt"可能提供了更多关于如何在Eclipse中利用Ant进行项目构建的细节,包括如何配置Ant构建路径、运行Ant任务以及调试构建过程。熟悉这些操作将大大提高开发效率,确保项目的自动化构建流程顺利进行。 ...
请注意,此示例基于上的HealthCheck示例。 概述 基本上,它的工作方式如下: 安装并运行 (在这种情况下,在容器中)。 在Karaf中,安装 。 它将基于分发已安装的OSGi服务。 使用生成OSGi服务。 在此示例中,...
- **文档查阅**:虽然这里没有提供具体的安装细节,但通常开发者会提供详细的文档或教程,说明如何安装和使用这些插件。 - **社区支持**:如果遇到问题,可以寻求Activiti社区的帮助,那里有很多经验丰富的开发者...
这涉及到OSGi环境下的集成问题,需要对OSGi及其在Java中的应用有所了解。 8. [HHH-8061]:主干矩阵CI测试失败的问题,这表明在持续集成环境中可能存在构建或测试问题,对持续集成感兴趣的开发者应当关注。 9. [HHH...
学习和了解GPT,可以参考“http://blog.csdn.net/dffd001”和“https://www.jianshu.com/u/2306ba8f1c59”的博客,这些博主分享了关于GPT的实践经验和技术细节。 总之,GPT作为百度推出的一款强大工具,为Android...
随着云计算和容器技术的发展,SpringSource dm Server也在不断进化,未来可能会更加注重云原生支持和自动化运维能力,以便更好地适应现代企业的IT需求。 通过以上介绍,我们可以看到SpringSource dm Server凭借其...