JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java Tools  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Pax Construct
qrtt1





發文: 1755
積分: 32
於 2008-09-19 15:14 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
http://www.ops4j.org/projects/pax/construct/maven-pax-plugin/usage.html
http://www.ops4j.org/projects/pax/construct/index.html

Pax Construct 是一套 script 的集合,它能輔助 OSGi 專案的建立、編譯、管理、佈署。
Pax 工具集並不是從無到有建立的,它的核心是 Maven2 Plugin 的機制。Pax Construct 僅是一套減化 pax maven plugin 的 script。

[安裝與設置]

要使用 Pax Construct,您需要有 JDK 與 Maven2。
請由
http://repo1.maven.org/maven2/org/ops4j/pax/construct/scripts/1.3/scripts-1.3.zip
下載 Pax-Construct,並將它解壓縮 (例如:c:\app)
在解開的目錄,會有一個 bin 資料夾:C:\APP\pax-construct-1.3\bin
將這個資料夾加至 PATH 環境變數之內,即可使用。

[建立 OSGi Project]

Pax Construct 工具能幫助您建立 OSGi Project,它規劃的結構會是建立一個 Main Module,
在這能放置您這個 OSGi Project 相關的設定與 Maven Plugin 設定,
而實作的 Project 會建立成 Sub Module 的方式。

請使用下列指令建立 OSGi Project。
1
pax-create-project -g examples -a test


-g 就是您使用 maven 建立 project 時,所填寫的 groupId
-a 就是 artifactId
細節可以參考網址:
http://www.ops4j.org/projects/pax/construct/help/create-project.html

建立完成後,您會有下列的檔案結構:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
C:\tmp\paxtest>tree /F
列出資料夾 PATH
磁碟區序列號碼為 000007C0 08A8:9415
C:.
└─test
    │  pom.xml
    │
    ├─poms
    │  │  pom.xml
    │  │
    │  ├─compiled
    │  │      pom.xml
    │  │
    │  └─wrappers
    │          pom.xml
    │
    └─provision
            pom.xml


以上這些檔案都是只算是 OSGi Project 共用的設定檔,
接著您需要建立一個能用來實作的 Project (sub module)
1
2
cd test
pax-create-bundle -p org.example.pkg -n test.bundle

這裡有個小細節,您需要在 Main Moudle 之下執行這個指令,目前的 Main Module 目錄為 test,
所以我們使用 change directory 指令改變目錄位置。接著,使用 pax-create-bundle 指令。
-n 是 bundle 的名稱,同時也是 artifactId 的名稱。
-p 並不是 groupId,因為 sub module 會繼承 parent 的 groupId。
這裡所指定的 -p 是指定建構專案樣本時要使用的 package name。

當您完成這個步驟,應該會有下列的檔案結構:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
C:\tmp\paxtest\test>tree /F
列出資料夾 PATH
磁碟區序列號碼為 000007C0 08A8:9415
C:.
│  pom.xml
│
├─poms
│  │  pom.xml
│  │
│  ├─compiled
│  │      pom.xml
│  │
│  └─wrappers
│          pom.xml
│
├─provision
│      pom.xml
│
└─test.bundle
    │  osgi.bnd
    │  pom.xml
    │
    └─src
        └─main
            ├─java
            │  └─org
            │      └─example
            │          └─pkg
            │              │  ExampleService.java
            │              │
            │              └─internal
            │                      ExampleActivator.java
            │                      ExampleServiceImpl.java
            │
            └─resources
                    readme.txt


[產生 IDE Meta Data]
即使建立好 OSGi Project,沒有好用的撰寫工具也是麻煩的。我們可以使用下列指令建立 eclipse 的資訊
1
mvn pax:eclipse -DdownloadSources

加上 -DdouwnloadSources 方便您在 IDE 內直接觀看 Library 內的寫法。


qrtt1 edited on 2008-09-21 22:05
reply to postreply to post
蝸牛角上爭何事?石火光中寄此身,隨富隨貧且歡樂,不開口笑是癡人。
my notes
話題樹型展開
人氣 標題 作者 字數 發文時間
1931 Pax Construct qrtt1 2601 2008-09-19 15:14
» JWorld@TW »  Java Tools

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8