程序人生

在Java中摸爬滚打的日子

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  6 Posts :: 1 Stories :: 19 Comments :: 0 Trackbacks
    这一篇,我将向大家介绍几个常用的工具,因为本人在OSGi的项目开发中,得益于这几个工具,因此有必要向大家逐一介绍。这几个工具分别是:Maven、Pax-construct、Pax-runner。当然我们开发必定少不了IDE工具,我所使用的IDE工具是Eclipse,对于IDE的使用我就不多说了。
    开发基于OSGi的Web应用,我有两种比较开发方式,一种是借助Maven跟相关的一些Maven插件,比如上面说到的Pax-construct、Pax-runner、还有Maven的bnd插件。另一种开发方式则是以Plug-in的方式开发。两种方式各有其优劣。在本系列文章中,我会分别介绍这两种开发方式。

Maven简介:   

    Maven是一个很不错的项目管理工具,其插件之多,也就说明了其功能之广。但本文不会详细的来介绍Maven的各种插件,这里只会简略的说一下Maven在开发基于OSGi的Web应用中所带来的便利之处及存在的弊端。
    Maven的好处:
    1、方便管理项目的组织结构
    2、方便管理项目对第三方包的依赖关系
    3、方便项目的构建
    4、方便项目在持续集成中的应用
    Maven的弊端:
    1、在项目中,经常会出现IDE被阻塞的情况,尤其在Maven子工程比较多的情况下。
    2、当项目是快照版时,如果没有设置好快照版更新策略的话,将会浪费掉你很多宝贵的开发时间。
    Maven的使用很简单,但要用好也还是需要花不少时间来了解其各种相关的插件的功能。这里简单的讲一下maven的使用,如果你用过,可以跳过这部分内容。
    Maven的安装很简单,从Apache官方网站(http://maven.apache.org)下载安装包,解压到自己指定的目录下,配置一个M2_HOME的系统环境变量就可以使用了。你可以在命令行下,输入mvn关键字就可以看出Maven已经可以正常工作了,前提条件是存在有Java的运行时环境。
    第一次运行mvn后,Maven会在当前用户的根目录生成一个.m2的文件夹,里面有一个repository的文件夹,这是Maven的本地仓库目录,你可以通过修改settings.xml文件来更改此repository的位置,这个settings.xml文件可以在Maven的解压目录下的conf目录中找到,最好是将settings.xml文件拷贝到用户目录下的.m2文件夹中,因为运行maven的命令时,其最先会去.m2的文件夹中查找有没有settings.xml文件,这是属于用户级的配置,而在%M2_HOME%/conf/settings.xml则是属于全局性的配置,在Eclpse的Maven插件也需要有.m2下的settings.xml文件。关于安装Eclipse的Maven插件可以参考http://m2eclipse.sonatyper.org。有关Maven更详细的资料大家可以到网上搜一下,会有大把的资料供学习。

Pax-construct简介:

   Pax-construct是一个生成OSGi的Maven项目的脚本工具,其安装使用也很简单。官方网址是:http://wiki.ops4j.org/display/paxconstruct/Pax+Construct,下载最新版本1.4解压到本地目录后,将其bin目录添加到环境变量PATH中,就可以使用了。其Quickstart主页地址是:http://www.ops4j.org/projects/pax/construct/index.html,有关详细使用,大家可以参考官方资料,你也可以按照本系列教程中的步骤来作学习使用。

Pax-runner简介:
   
Pax-runner是用来运行此OSGi的Maven项目的一个脚本工具,这里我们主要用到其基于Maven的插件。其官方网址是:http://paxrunner.ops4j.org/space/Pax+Runner。其安装跟Pax-construct一样,使用则更为简单。这里就不详细细说了。

bnd简介:
    bnd是一个将普通jar包转换成符合OSGi的bundle的工具,其官方网址是:http://www.aqute.biz/Code/Bnd,这工具在这里大家不需要太多的关注,因为使用Pax-construct构建项目时,就已经把其集成进来了,大家需要关注的是项目根目录下的osgi.bnd配置文件。这个配置文件是项目用Maven打包时给bnd的一个附加的配置文件。具体如何使用请关注后文。
   
总结:
    以上介绍的Pax的两个工具construct跟runner均是使用于在本文说的第一种开发方式,这种开发方式的好处在于开发人员不需要过多的关注OSGi Bundle的东西,精力主要放在业务代码的开发上,但需要开发人员注意一些相关的事项。而第二种开发方式则是基于Eclipse的Plug-in的方式,这就需要大家对OSGi的概念比较清楚,而这种开发方式在工具上的使用有了Eclipse就行,当然如果有Maven来管理项目那也是好事。但整体上讲对开发人员的要求会高一些。

posted on 2010-06-15 12:06 潇湘振宇 阅读(3588) 评论(0)  编辑  收藏 所属分类: OSGi系列

只有注册用户登录后才能发表评论。


网站导航: