程序人生

          在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 瀟湘振宇 閱讀(3608) 評論(0)  編輯  收藏 所屬分類: OSGi系列
          主站蜘蛛池模板: 涡阳县| 义乌市| 海淀区| 延长县| 电白县| 田东县| 盐城市| 镇安县| 神池县| 金川县| 临洮县| 苍南县| 天全县| 镇沅| 河津市| 屯留县| 乌拉特前旗| 永川市| 西藏| 丰台区| 乐业县| 长宁县| 莱西市| 延寿县| 长治县| 额尔古纳市| 任丘市| 延川县| 宁海县| 图片| 鹤峰县| 镶黄旗| 靖江市| 平安县| 绥中县| 蕲春县| 浦县| 中西区| 英吉沙县| 定南县| 德昌县|