`

《深入理解OSGi:Equinox原理、应用与最佳实践》笔记_2_建立开发环境

 
阅读更多

来自:http://fair-jm.iteye.com 转截请注明出处

 

笔记一:http://fair-jm.iteye.com/blog/1988348

 

本文对应书本5.1.3的内容

 

书本中通过CVS下载的源码

但是笔者实践的时候发现无法下载...地址已经失效了(也许是笔者的失误输错地址所致)

可以用git下载 

地址是:

http://git.eclipse.org/c/equinox

进入需要下载的组件的页面 在最下面有git clone的地址

http://git.eclipse.org/c/equinox/rt.equinox.framework.git/ 写道
Clone
git://git.eclipse.org/gitroot/equinox/rt.equinox.framework.git
ssh://git.eclipse.org/gitroot/equinox/rt.equinox.framework.git
http://git.eclipse.org/gitroot/equinox/rt.equinox.framework.git

 

在eclipse中下载很简单 打开git仓库的面板 输入地址即可



 

选择需要的导入就可以了



 

 

接下来配置run configuration

和书中一样这里截图略过:



 

 

接下来是dev.properties文件和conf.ini文件 如下:

BundleHelloworld=bin 
org.eclipse.osgi=bin
@ignoredot@=true

 conf.ini:

#和书中相比多了很多其他的bundle 这些是启动console必需的
osgi.bundles=reference:file\:G:/osgi_workbench/test/BundleHelloworld@start,reference:file\:E:/eclipseForEE/osgi_test/eclipse/plugins/org.apache.felix.gogo.command_0.10.0.v201209301215.jar@start,reference:file\:E:/eclipseForEE/osgi_test/eclipse/plugins/org.apache.felix.gogo.runtime_0.10.0.v201209301036.jar@start,reference:file\:E:/eclipseForEE/osgi_test/eclipse/plugins/org.apache.felix.gogo.shell_0.10.0.v201212101605.jar@start,reference:file\:E:/eclipseForEE/osgi_test/eclipse/plugins/org.eclipse.equinox.console_1.0.100.v20130429-0953.jar@start

osgi.bundles.defaultStartLevel=4

osgi.framework=file:H:/repository/git/rt.equinox.framework/rt.equinox.framework/bundles/org.eclipse.osgi

#osgi.framework=file/:E:/eclipseForEE/osgi_test/eclipse/plugins/org.eclipse.osgi_3.9.1.v20130814-1242.jar

eclipse.ignoreApp=true

osgi.noShutdown=true

osgi.console=

 

有关以上比书本上多的那几个jar 看:

http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fconsole_shell.htm

可以直接用eclipse的plugins文件夹下的

没有那几个jar BundleHelloworld可以运行 但不会出现 osgi>

并且会有错误信息 如下:

log 写道
!SESSION 2013-12-23 13:33:04.949 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_40
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Command-line arguments: -dev file:E:/eclipseForEE/osgi_test/config/dev.properties

!ENTRY org.eclipse.osgi 4 0 2013-12-23 13:33:05.347
!MESSAGE Could not find bundle: false
!STACK 0
org.osgi.framework.BundleException: Could not find bundle: false
at org.eclipse.core.runtime.internal.adaptor.ConsoleManager.checkForConsoleBundle(ConsoleManager.java:58)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:323)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:222)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

注意bundle中的文件前应该有 reference:file: 不然会提示找不到

 

在以上新建的java application中点run 会出现以下信息就代表运行成功:



 

  • 大小: 45 KB
  • 大小: 24 KB
  • 大小: 47.2 KB
  • 大小: 20.4 KB
  • 大小: 5.5 KB
0
1
分享到:
评论

相关推荐

    OSGi原理与最佳实践 学习笔记 一

    在实际的开发和应用过程中,开发者需要理解OSGi的原理并掌握其最佳实践。这包括了解如何构建和管理模块层、如何控制生命周期层以及如何实现服务层的通信。通过OSGi框架,开发者能够创建具有高度模块化和动态化的Java...

    SpringDM笔记28-Spring And OSGi:Layers of Integration

    8. **最佳实践**:最后,笔记可能分享了一些最佳实践,指导开发者如何有效地在OSGi环境中使用Spring,以提高开发效率和应用质量。 由于没有具体的压缩包文件内容,以上内容主要是基于标题和标签的推测。如果想要...

    osgi学习笔记(一)

    在《OSGI进阶.pdf》这本书中,可能涵盖了更深入的话题,比如bundle的打包和部署、服务注册与查找、bundle间通信的协议(如白板模式和Declarative Services)以及如何使用OSGi进行企业级应用开发。这本书可能会详细...

    osgi学习笔记(二)

    在本篇“osgi学习笔记(二)”中,我们将深入探讨OSGi(Open Services Gateway Initiative)框架的核心概念、工作原理以及如何在实际项目中应用它。OSGi是一种Java模块化系统,它允许开发人员创建可独立更新和依赖...

    『原创』OSGI研究笔记1 - Equinox ServletBridge模式下调用Datasource

    标题中的“OSGI研究笔记1 - Equinox ServletBridge模式下调用Datasource”表明了这篇文章将探讨如何在OSGI(Open Service Gateway Initiative)环境下,利用Equinox的ServletBridge模块来访问和使用DataSource。...

    SpringDM笔记7-开发SpringDM Bundle

    同时,“工具”可能是指像Eclipse PDE或SpringSource Tool Suite这样的集成开发环境,它们提供了专门的支持来简化OSGi和SpringDM应用的开发过程。 通过以上步骤,开发者可以利用SpringDM的强大功能在OSGi环境中构建...

    很久之前的osgi整理

    虽然具体内容没有提供,但通常这样的文章会包含OSGi的基本概念、工作原理、如何使用OSGi进行开发、以及可能的一些最佳实践或常见问题解答。 标签“源码”暗示了资料可能涉及OSGi框架的内部实现或者如何阅读和理解...

    osgi学习笔记(三)

    此外,Bndtools是一个强大的集成开发环境插件,它支持OSGi项目的创建、构建和调试,对于理解和操作OSGi服务非常有帮助。 总结,OSGi服务是OSGi框架的核心特性之一,它使得模块间的通信变得简单且可控。通过对服务的...

    SpringDM笔记31-Testing with OSGi and SpringDM

    SpringDM(Spring Dynamic Modules)是Spring框架对OSGi的支持,它简化了在OSGi环境中开发和管理应用程序的过程。 这篇笔记可能讨论了以下几个关键知识点: 1. **OSGi基础**:首先,理解OSGi的基本概念是至关重要...

    SpringDM笔记13-OSGi服务注册与引用

    在SpringDM(Spring Dynamic Modules)框架中,OSGi(Open Service Gateway Initiative)服务注册与引用是核心功能之一,它使得模块化系统中的组件能够互相发现并交互。本篇笔记将探讨如何在OSGi环境中注册服务以及...

    Fuse ESB 4.3.1使用笔记

    ### Fuse ESB 4.3.1 使用笔记 #### 一、概述 Fuse ESB (Enterprise Service Bus) 4.3.1 是一个强大的企业级服务总线平台,基于Apache Karaf容器构建,用于集成不同的应用程序和服务。它支持多种集成模式和技术栈,...

    免费Eclipse插件开发学习笔记-源代码1至24章.zip

    通过学习这个压缩包中的源代码,你可以深入理解Eclipse插件开发的各个方面,从而能够构建自己的定制化开发环境或独立应用程序。对于Java SWT标签,这意味着你会专注于使用Java和SWT库来创建用户界面,这将增强你的...

Global site tag (gtag.js) - Google Analytics