close

  Pax Umbrella Project是為發展OSGi Tool的專案(Pax umbrella譯作大同傘)。提供不少獨立的工具,大概以Pax Construtct和Pax Runner為主。Pax Construct負責建構OSGi相關專案如Bundle、Module、Service等;而Pax Runner則是可以建立OSGi container,可以選擇Felix(預設)、Equinox或是其它的OSGi container等,Pax Runner還真是跟流行,作用和SLF4J之於Logger、JPA之於ORM差不多。

  自http://wiki.ops4j.org/display/paxconstruct/Download下載最新的Pax Construct(目前最新版是1.4),壓縮後,增加Pax Construct的Home/bin的目錄到Path。以下是部份script用法:

【pax-create-project】

  建立一個Pax專案,不帶參數時會依次向你要求Maven所需的group ID、artifact ID、version,或是直接帶參數如下:

pax-create-project -g groupId -a artifactId [-v version] [-o] [—mvnOpts ...]

  假設artifactId是my,執行完後會產出my這個子目錄,在Eclipse去import Maven Project選擇my目錄,然後只勾選最頂層的pom.xml(子pom.xml則不要勾選),如此就能在Eclipse建立一個名為my的project。

【pax-version】

  這是執行Pax Runner的script,可以在command mode下執行,預設Run Felix。也可以改變為Equinox,在my目錄下的pom.xml做以下的修改:

1.在build/plugins標籤增加如下,因Maven預設JRE是1.4,是故要改成1.5。

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.5</source>
        <target>1.5</target>
    </configuration>
</plugin>

2.修改maven-pax-plugin設定使用Equinox,有點長:

<plugin>
    <groupId>org.ops4j</groupId>
    <artifactId>maven-pax-plugin</artifactId>
    <version>1.4</version>
    <configuration>
        <!--
        | some example Pax-Runner settings
        <provision>
            <param>platform=felix</param>
        </provision>
        -->
        <provision>
            <param>--platform=equinox</param>
          <param>--profiles=minimal</param>
        </provision>
    </configuration>
    <executions>
        <execution>   <!-- 原本被註解 -->
            <id>ide-support</id>
            <goals>
                <goal>eclipse</goal>
            </goals>
      </execution>
    </executions>
</plugin>

  這樣執行pax-version就會改為Equinox。而不管是Felix或Equinox,也可以使用Maven指令在Eclipse啟動OSGi container。其指令是mvn pax:version

arrow
arrow
    全站熱搜

    Jemmy 發表在 痞客邦 留言(0) 人氣()