- 浏览: 1146911 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
因为正看一个基于Felix的开源程序,今天搭配了Felix的开发环境。
如何利用Eclipse调试Felix bundle,在Felix的网站上有介绍。可见网址http://felix.apache.org/site/integrating-felix-with-eclipse.html 。
另外,在《OSGi原理与最佳实践》上也有关于搭配Felix 开发环境两种方法的介绍。(应该说后者其实就是copy前者Felix网站上的东东)。
但是这两个在讲完环境搭配之后如何调试却一笔带过,反而让人搭配了环境却不知如何用。在此总结一下自己的心得。
这里对不采用Pax runner的方法做点补充。
备注:Pax cursor已经更新为Pax runner,具体内容就去google吧。
第一步:搭配一个专用于调试的Java Project——felix。
按照http://felix.apache.org/site/integrating-felix-with-eclipse.html 上的说明,建立一个java project。上面步骤将的非常清晰了。
按照他的步骤搭配完毕,将会获得一个专门用于调试bundle 程序的Java project——Felix。很明显,其实他就是吧Felix在eclipse中医project的形式运行而已,console窗口就是Felix的命令行窗口。操作当然相同。
我将这个称之为调试环境。注意不要再另外在该project中添加自己的东西了。
第二步:编写自己的程序。
因为Felix的bundle都是符合OSGI standard的,所以Felix下的bundle就是标准的OSGI bundle。如有怀疑这一点,可以去Felix的网站上常见问题里去找答案,提示一下第一个问题就是答案。
因此在eclipse中,我们新建Felix的bundle,可以利用Eclipse插件向导来做,只需要注意选择OSGI standard即可,在元文件编辑窗中不要去填写用于Equinox的那些属性就可以了。
具体步骤可以参考建立Eclipse 插件工程的步骤。这个Google一下即可。《osgi实战》也有介绍。
开发完自己的bundle之后。打包,Export为plug-in fragments。注意将Export的文件夹地址可以直接设置为刚才创建的Felix project中的bundle文件夹。当然也可以导出到某个位置再将其拷贝到该bundle目录下。
第三步:调试程序。
# 在你的程序中设置所需的断点。
# 启动Felix project,进入debug模式,注意确保先前设置的debug configuration正确无误。
这样Felix 将会自动将bundle文件夹下你的bundle运行调试,如果你没有进入调试模式,会提示你进入。
# 此时,debug会出现找不到源文件,点击attach source,选择add project,然后选择刚才要调试的那个project的名称 即可。eclipse会自动搜索到源文件。如果你的debug窗口中正常显示了你的源程序,恭喜!成功了。你此时会发现程序
正停留在你设置的断点处等待你调试。这时和调试普通程序没什么区别。
如果你对程序进行了修改,那么重新打包一次至于bundle文件夹下,重新启动felix project 进入debug模式,Felix会自动导入你修改过的bundle。
如果要建立多个bundle,重复就行了。
总结:
# 先建立一个干干净净的Felix Javaproject作为调试环境。然后正常编写一个bundle,将其置于Felix下的bundle目录调试即可,最重要的是添加source路径使其能找到源码位置。
# 有人可能有不同意见,认为本人这样太麻烦了。当然,我们将这两个工程作为一个工程就可以调试,大可不必分开,但是如果你要调试很多bundle,这种优越性就显示出来了。
@ 你只需要建一个Felix 调试环境,而不必为每个bundle都重复这个工作。
@ 要知道调试一个bundle和调试多个bundle是不同的。当你编写的bundle相互有依赖关系,那你必然要把他们放到一个Felix下运行才对,想想每个bundle单独构建一个调试环境的结果会是什么?
@ 你还可以在这个Felix下检查到多个bundle之间的交互,及早发现可能存在的冲突
@ 当你把所有的bundle调试完成,也就同时部署完成了,只要没有问题,Felix project正是部署好你的项目的服务器,可以直接把该project拷贝出来用,当然删掉eclipse的专用文件就更干净了,如.setting文件夹。
@ 另外,又想到一点,分为两个project,你在导出时无需更多设置直接导出为plug-in就是所要的bundle包。如果放在一个Java project中,将Java project导出为能用的bundle恐怕还需要你手动设置
参考网站:
http://felix.apache.org/site/integrating-felix-with-eclipse.html
发表评论
-
关于Felix Log Service
2012-12-07 16:44 1565OSGi服务纲要规范中定义了服务于OSGi平台的通用日志服 ... -
Maven 3 Felix 4 Eclipse 的搭建与部署(部分转载自别人文章)
2012-10-18 10:24 20274.1.开发环境搭建 4.2开发工具 Maven 3 F ... -
【绝对路径】OSGi环境中获取Plugin/Bundle中文件资源的绝对路径
2012-10-08 10:53 2483摘要:在进行Eclipse RCP开发的过程中,需要使用一 ... -
OpenCore:基于OSGi开发纯插件体系结构的WEB应用程序
2012-09-21 17:46 1419随着OSGi/Equinox逐渐成为Java EE服务端的基础 ... -
OSGi技术在Java Web开发中的应用
2012-09-20 11:26 1407随着 Java SE 对模块化功能原生支持的一再推迟(据最 ... -
OSGI典型的应用案例
2012-09-20 11:26 1630OSGI典型的应用案例主要有两个:分别是Eclipse和BMW ... -
OSGi特点
2012-09-20 11:26 12461、JRE版本无关性。虽然Java一直被人们认为是“Write ... -
OSGI与JMX 的关系
2012-09-19 17:09 1055不过重点是: JMX 本来设计的用途就只为了管理,我们不 ... -
在equinox环境开发web应用的"利器" -- registerResources()方法 详解
2012-09-19 17:07 1226registerResources()方法详解 1、简介 ... -
在equinox环境开发web应用的"利器" -- 序
2012-09-19 17:05 1358在equinox环境中开发web应用必须要借助一些工具包提供的 ... -
equinox环境下web应用资源的部署
2012-09-19 17:04 1304osgi的equinox实现环境下,web服务器和web应用都 ... -
OSGi产生的背景--在繁荣的混乱之中走出困惑
2012-09-19 16:58 1163软件的复杂性正在以惊 ... -
将web容器置于OSGi框架下进行web应用的开发
2012-09-16 14:26 3534将web容器置于OSGi框架下,其实就是将web容器做成OSG ... -
在Eclipse中开发OSGi Bundle
2012-09-16 14:26 1328Eclipse为开发OSGI Bundle提供了良好的支持,它 ... -
【第一代服务注册形式】 - 将一个Bundle注册为服务
2012-09-14 10:09 11531、创建业务接口类及其实现类 Java代码 ... -
Declarative Services规范简介及应用
2012-09-14 10:08 1419Declarative Services 是一 ... -
用FileInstall管理Bundle的动态安装、启动、卸载
2012-09-14 10:07 13281、文件目录如下: F:\study_osgi ... -
服务工厂 - Bundle消费者返回不同的服务对象
2012-09-14 10:03 1206一般情况下,服务对象在注册后,任何其它的Bundle在请求 ... -
服务跟踪(ServiceTracker)
2012-09-14 09:58 1155当多个Bundle使用同一 ... -
OSGi容器中Bundle之间Synchronous Communication
2012-09-11 17:07 1557OSGi Core定义了一个服务层,提供了一个Bundl ...
相关推荐
- **开发和调试OSGi应用通常需要使用特定的工具,如Eclipse PDE OSGi工具,Bndtools等,它们可以帮助构建、部署和调试bundle**。 - **对于Felix Plugin的开发,可能还需要了解如Maven或Gradle的构建工具,以及如何...
在Eclipse中,你可以设置断点进行调试,通过“运行”菜单选择“运行配置”来启动你的程序。Eclipse提供强大的调试工具,包括单步执行、查看变量值、调用堆栈等。 10. **版本控制**: 对于团队协作,Eclipse支持...
标题"OSGI中Hibernate扩展在felix中的应用"指的是如何在OSGI Felix框架中整合和使用Hibernate。Felix是Apache软件基金会的一个项目,它是OSGI规范的开源实现。将Hibernate引入OSGI环境,可以实现更灵活的部署和管理...
解决方法是在调试配置中,除了选择自己的OSGI组件,还需要添加以下四个插件:org.apache.felix.gogo.command、org.apache.felix.gogo.runtime、org.apache.felix.gogo.shell以及org.eclipse.equinox.console。...
在Eclipse中导入这个源代码包,首先需要选择"File" -> "Import" -> "Existing Projects into Workspace",然后浏览找到解压后的“felix-src”目录。导入过程中,确保Eclipse已经安装了适当的Java开发工具(JDT)和...
1. **创建SpringDM项目**:在Eclipse中,首先需要创建一个SpringDM工程。这可以通过新建一个OSGi Bundle项目,然后添加Spring Dynamic Module nature来实现。 2. **定义Spring配置**:编写Spring配置文件(如`...
5. 测试和调试:在Eclipse的OSGi运行时环境中,如Equinox或Felix,启动并测试应用。可以使用OSGi控制台来查看和管理各个bundle的状态。 6. spring-depends文件:这个压缩包文件可能包含了项目中所依赖的Spring库...
为了充分利用这个环境,开发者需要了解OSGi的基本概念,如bundles、manifest文件、服务生命周期和依赖注入,以及如何在Eclipse中配置和调试OSGi项目。同时,熟悉Eclipse的PDE工具将大大提升开发效率。
在非Eclipse环境中启动OSGI应用的Demo是一个实用的技术实践,尤其对于开发者来说,了解如何在没有集成开发环境(IDE)支持的情况下运行OSGI服务至关重要。这个Demo主要展示了如何在只有Java Development Kit (JDK)的...
在IT行业中,尤其是在Java生态体系内,Eclipse和Felix都是重要的开源项目。Eclipse是一个集成开发环境(IDE),而Felix是Apache软件基金会下的一个OSGi(Open Service Gateway Initiative)实现,它允许在Java应用中...
在IT行业中,Eclipse和Maven是开发Java应用程序的两个重要工具。Eclipse是一个功能强大的集成开发环境(IDE),而Maven则是一个项目管理和综合工具,主要用于构建、依赖管理和项目信息管理。本篇文章将深入探讨如何...
在Eclipse Neon中,它可以用于调试和管理运行时的OSGi服务,方便开发者进行模块化开发和系统管理。 3. `org.eclipse.platform_4.6.3.v20170301-0400`: 这是Eclipse平台的核心库,包含了大部分基础组件和服务,如...
spring roo的eclipse工程。可象普通java工程一样调试,跟Felix无关。注意其中的.lanches文件需要copy到你的eclipse workspace的.metadata\.plugins\org.eclipse.debug.core下
3. **运行时集成**:BndTools与Eclipse IDE紧密集成,可以在IDE内直接启动和调试OSGI运行时,实时查看bundle的状态和服务。 4. **动态更新**:允许开发者在运行时更新bundle,无需重启整个系统,提高了开发效率。 ...
在实际开发中,Apache Felix通常与Maven或Gradle等构建工具结合使用,通过插件生成符合OSGi规范的bundle。同时,IDE如Eclipse或IntelliJ IDEA也有对应的OSGi支持,可以帮助开发者更好地管理和调试OSGi应用。 总结来...
在Felix的Java笔记中,可能涵盖了如何在MyEclipse中配置和使用这些框架,以及解决开发过程中遇到的问题和技巧。通过学习这些笔记,开发者可以深入理解Java开发的各个方面,提升自己的技能水平。
总结起来,"Example.rar"中的内容可能是某个基于Eclipse和Felix的OSGi项目,包含了源代码、配置文件、依赖库和构建输出,便于开发者进行开发、调试和打包。了解这些知识点有助于理解和操作这个压缩包中的内容。
在实际开发中,掌握Apache Felix OSGi框架启动器的使用,能帮助我们构建更灵活、可维护的Java应用。通过了解和实践上述知识点,开发者可以更好地利用OSGi的优势,如组件化开发、动态部署和版本控制,从而提升软件的...