`

在eclipse3.3上进行OSGI基础平台环境的搭建

阅读更多
1. dependecies repo的建立。
我们需要在eclipse上搭建一个OSGI的集成开发环境,实际上就是构建一个eclipse的目标平台(target),这个目标平台里面包括了一些我们要勇于OSGI开发的所必须用到的插件(Bundle),此外,剔除掉了一些我们不需要的插件来达到一个最干净,精简的OSGI开发环境的搭建,这样就有利于我们在eclipse上执行(run)或者调试(debug)一个方便的统一的OSGI开发环境来进行我们的OSGI相关开发工作。要完成这个目的,当然第一步工作是按照我们自己的需要去定制一个插件集,然后在利用eclipse的构建目标平台的功能(target definition)去关联到我们定义的这个插件集上,来完成一个自定义的OSGI开发平台的构建。
这里我们还是利用一个名叫Maven Dependency Plugin的maven插件来实施我们的插件集合的构建。关于这个插件的配置方法,相信官方网站上已经做了非常详尽的说明,这里由于我们只需要这个插件的Copying Project Dependencies功能,所以我们这里只简要的讲解一下这个功能的配置方法。
利用如下的一个模板配置你可以用来将配置在你的pom文件中的那些dependencies以及这些dependencies所依赖的dependencies拷贝到指定的目录:

xml 代码
 
  1. <project>  
  2.   [...]  
  3.   <build>  
  4.    <plugins>  
  5.      <plugin>  
  6.         <groupId>org.apache.maven.plugins</groupId>  
  7.         <artifactId>maven-dependency-plugin</artifactId>  
  8.         <executions>  
  9.           <execution>  
  10.             <id>copy-dependencies</id>  
  11.             <phase>package</phase>  
  12.             <goals>  
  13.               <goal>copy-dependencies</goal>  
  14.             </goals>  
  15.             <configuration>  
  16.               <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>  
  17.               <overWriteReleases>false</overWriteReleases>  
  18.               <overWriteSnapshots>false</overWriteSnapshots>  
  19.               <overWriteIfNewer>true</overWriteIfNewer>  
  20.             </configuration>  
  21.           </execution>  
  22.         </executions>  
  23.       </plugin>  
  24.     </plugins>  
  25.   </build>  
  26.   [...]  
  27. </project>  


当然你也可以通过设置excludeTransitive属性为true来显示的将pom中配置的dependencies所依赖的dependencies进行拷贝。
xml 代码
 
  1. [...]  
  2. <build>  
  3.  <plugins>  
  4.    <plugin>  
  5.       <groupId>org.apache.maven.plugins</groupId>  
  6.       <artifactId>maven-dependency-plugin</artifactId>  
  7.       <executions>  
  8.         <execution>  
  9.           <id>copy-dependencies</id>  
  10.           <phase>package</phase>  
  11.           <goals>  
  12.             <goal>copy-dependencies</goal>  
  13.           </goals>  
  14.           <configuration>  
  15.             <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>  
  16.             <overWriteReleases>false</overWriteReleases>  
  17.             <overWriteSnapshots>true</overWriteSnapshots>  
  18.             <excludeTransitive>true</excludeTransitive>  
  19.           </configuration>  
  20.         </execution>  
  21.       </executions>  
  22.     </plugin>  
  23.   </plugins>  
  24. </build>  
  25. [...]  
  26. project>  

实际中,我们会一般的在pom中设置好我们这个OSGI环境所需要的一些bundles(插件),然后设置好outputDirectory(输出目录)假设是${project.build.directory},这个就是指代的这个工程下的target目录,然后用maven的命令:maven package来进行构建。构建完毕后一个符合我们自己需要的OSGI taget platform就设置好了。当然在一些最基础的OSGI核心bundle(比如org.eclipse.osgi)你就没必要再去以这种方式构建到target下了,因为你下下来一个eclipseIDE后,它里面就包含了一些基本的OSGI核心包(eclipse就是一个OSGI产品),至于在POM中配置dependecies的方式来配置那些需要的bundles,那这些bundle来至哪里呢,这个可以参考我以前的博客中写过得利用pax来进行这项OSGI bundle的构建工作。

<o:p> </o:p>

剩下来的步骤就是要把我们eclipse IDE的工作环境设到我们之前做好的这个OSGI bundles集合上来了。

首先在我们已经构建dependences集合的工程里面创建一个Target definition



先选择New一个Target definition

<o:p> </o:p>

父文件夹选择我们的放了dependences的工程目录,设置好target配置文件的文件名后,点击完成,这样一个target definition就建好了。然后对其做些配置

<o:p>
</o:p>

如果你已经有一个基础的eclipse环境(实际上就是个基础的OSGI环境),那么就在Target Location中将这个Location设置进来,此外再将我们刚才构建的我们自需要的OSGI环境设置在Additional Locations里面,最后保存下这个文件,再点击右上角的Set as Target Platform,那么我们的eclipse就可以立刻切换到我们自定义的OSGI开发环境中去了。

<o:p> </o:p>


总结:利用
maven插件以及eclipsetarget platform的结合,来构建一个我们自需要的OSGI环境,然后实现IDEtarget platform在这个target上的自由切换,有利于统一管理我们的OSGI开发平台环境,对开发中要用到的bundles进行了有效的积累和管理。
分享到:
评论
3 楼 yefeng 2008-08-01  
图看不到,LZ,
2 楼 onlydo 2008-07-28  
图看不到。。。
1 楼 phoenixup 2007-10-22  
JMX已经完败给OSGI了~~收藏了~
另外!很好,很强大~

相关推荐

    Eclipse RCP与Spring OSGi技术详解与最佳实践

    《Eclipse RCP与Spring OSGi:技术详解与最佳实践》共分3个部分:基础篇(第1-5章)详细介绍了与Eclipse RCP相关的一系列核心概念、Eclipse RCP开发环境的搭建,以及SWT、JFace、Forms、Nebula和WindowBuilder等...

    OSGI.rar_OSGI eclipse_eclipse osgi_java OSGI_osgi

    在"OSGI.rar_OSGI eclipse_eclipse osgi_java OSGI_osgi"这个压缩包中,我们可以找到"OSGI实战.pdf",这很可能是关于如何在Eclipse环境下使用OSGI进行实际开发的详细指南。该书可能会涵盖以下关键知识点: 1. **...

    Eclipse3.3+Eclipseme1.7.6+wtk2.5.2 配置JAVA ME开发环境

    在构建JAVA ME开发环境时,使用Eclipse3.3、Eclipseme1.7.6以及wtk2.5.2是一种经典的配置方案,尤其...通过以上步骤,你将能够在Eclipse 3.3环境中成功搭建并配置JAVA ME开发环境,开始进行JAVA ME应用程序的开发工作。

    OSGI 实例eclipse插件开发

    在实际开发中,开发者会根据需求选择和配置这些模块,创建自己的OSGI bundle,并在Eclipse环境中进行部署和调试。理解每个模块的功能和它们之间的交互关系是成功开发OSGI插件的关键。同时,掌握OSGI的生命周期管理和...

    osgi基础demo-搭建servlet

    在这个“osgi基础demo-搭建servlet”项目中,我们将探讨如何在OSGi环境中创建并运行一个简单的Servlet应用程序。 首先,我们需要理解OSGi的核心概念。OSGi基于服务导向架构,每个模块称为一个Bundle,每个Bundle...

    org.eclipse.osgi_3.7.0.v20110613及源码

    Eclipse IDE本身就是一个基于OSGi的平台,各个插件作为独立的bundle进行管理。此外,Spring Dynamic Modules(Spring DM)和Apache Felix等开源项目也使用OSGi来构建可扩展的系统。 六、挑战与优势 尽管OSGi提供了...

    基于Eclipse开发OSGI的简单实例

    Eclipse是一个广泛使用的开源集成开发环境(IDE),它支持OSGi框架,使开发者能够在Eclipse平台上构建模块化的应用程序。本文将通过一个实例,详细讲解如何使用Eclipse进行OSGi开发,包括SpringDM(Spring Dynamic ...

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

    Eclipse RCP是一个用于构建桌面应用程序的框架,而Spring OSGi则提供了在OSGi环境中管理和部署Spring Bean的能力。 首先,我们需要理解Eclipse RCP。它是基于Java的,允许开发者创建可扩展、模块化的桌面应用。它...

    Eclipse3.0采用的OSGi技术

    综上所述,Eclipse 3.0 通过引入 OSGi 技术实现了从单一工具平台到富客户端平台的重大转型。这一转型不仅解决了原有架构中的不足之处,还带来了诸多新特性和性能上的提升,使 Eclipse 成为一个更加成熟和全面的开发...

    Eclipse中搭建Felix运行环境

    本篇文章将详细介绍如何在Eclipse中搭建Felix运行环境,以便进行OSGI企业应用的开发。 首先,我们需要安装Eclipse IDE,这是一个广泛用于Java开发的强大工具。确保你的Eclipse版本支持插件开发,例如Eclipse IDE ...

    OSGI.rar_OSGI eclipse_osgi

    在Eclipse集成开发环境中,OSGI扮演着核心角色,从Eclipse 3.0开始,它便采用了OSGI作为其插件体系结构的基础。 OSGI的核心概念是 Bundle,每个Bundle都相当于一个独立的Java应用程序,拥有自己的类加载器,可以在...

    OSGi开发环境建立和Hello World

    此时,在Eclipse控制台中应当出现osgi提示符,表示OSGi环境已成功搭建。 4. 新建一个OSGi项目。在Eclipse中创建一个Plug-in项目,并设置项目的名称和Target Platform。在创建过程中,需要配置bundle的Manifest文件...

    org.eclipse.osgi-3.7.2

    首先,"org.eclipse.osgi"是Eclipse项目中的核心组件,它实现了OSGi规范,并作为整个Eclipse平台的基础。版本号“3.7.2”表明这是该组件的一个特定发行版,发布于2012年1月10日,具体版本为v20120110-1415。 OSGi的...

    eclipse下构建spring与OSGI项目

    这篇博客“eclipse下构建spring与OSGI项目”将指导我们如何在Eclipse环境中结合Spring和OSGi进行开发。 首先,理解Spring框架是至关重要的。Spring提供了一个全面的编程和配置模型,旨在简化Java企业级应用的开发。...

    org.eclipse.osgi-3.8.1

    Eclipse OSGi在Eclipse IDE中的应用体现在插件系统上,每个Eclipse插件本质上就是一个OSGi Bundle,它们可以独立开发、部署,并根据需要启动或关闭,极大地增强了Eclipse的可扩展性和可维护性。 总之,"org.eclipse...

    osgi gemini blueprint环境

    综上所述,这篇博文可能是关于如何在OSGi环境中使用Gemini Blueprint和Spring进行服务组件开发的教程,同时也可能涉及到了相关库的配置和使用,如Apache Commons、Logback、Spring和SLF4J。通过阅读这篇博文,读者...

    Eclipse-OSGi.pdf

    Eclipse-OSGi是一种模块化的服务平台,它实现了OSGi(Open Services Gateway initiative)规范,这种规范允许动态的插件化和模块化。OSGi规范是由OSGi联盟制定的一系列接口标准,它定义了一种面向Java语言的模块系统,...

Global site tag (gtag.js) - Google Analytics