小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

在eclipse3.3上進(jìn)行OSGI基礎(chǔ)平臺環(huán)境的搭建

 ~水手~!! 2010-12-28
1. dependecies repo的建立。
我們需要在eclipse上搭建一個OSGI的集成開發(fā)環(huán)境,實際上就是構(gòu)建一個eclipse的目標(biāo)平臺(target),這個目標(biāo)平臺里面包括了一些 我們要勇于OSGI開發(fā)的所必須用到的插件(Bundle),此外,剔除掉了一些我們不需要的插件來達(dá)到一個最干凈,精簡的OSGI開發(fā)環(huán)境的搭建,這樣 就有利于我們在eclipse上執(zhí)行(run)或者調(diào)試(debug)一個方便的統(tǒng)一的OSGI開發(fā)環(huán)境來進(jìn)行我們的OSGI相關(guān)開發(fā)工作。要完成這個目 的,當(dāng)然第一步工作是按照我們自己的需要去定制一個插件集,然后在利用eclipse的構(gòu)建目標(biāo)平臺的功能(target definition)去關(guān)聯(lián)到我們定義的這個插件集上,來完成一個自定義的OSGI開發(fā)平臺的構(gòu)建。
這里我們還是利用一個名叫Maven Dependency Plugin的maven插件來實施我們的插件集合的構(gòu)建。關(guān)于這個插件的配置方法,相信官方網(wǎng)站上已經(jīng)做了非常詳盡的說明,這里由于我們只需要這個插件的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>  


當(dāng)然你也可以通過設(shè)置excludeTransitive屬性為true來顯示的將pom中配置的dependencies所依賴的dependencies進(jìn)行拷貝。
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中設(shè)置好我們這個OSGI環(huán)境所需要的一些bundles(插件),然后設(shè)置好outputDirectory(輸出目錄)假設(shè)是${project.build.directory},這個就是指代的這個工程下的target目錄,然后用maven的命令:maven package來進(jìn)行構(gòu)建。構(gòu)建完畢后一個符合我們自己需要的OSGI taget platform就設(shè)置好了。當(dāng)然在一些最基礎(chǔ)的OSGI核心bundle(比如org.eclipse.osgi)你就沒必要再去以這種方式構(gòu)建到target下了,因為你下下來一個eclipseIDE后,它里面就包含了一些基本的OSGI核心包(eclipse就是一個OSGI產(chǎn)品),至于在POM中配置dependecies的方式來配置那些需要的bundles,那這些bundle來至哪里呢,這個可以參考我以前的博客中寫過得利用pax來進(jìn)行這項OSGI bundle的構(gòu)建工作。

<o:p> </o:p>

剩下來的步驟就是要把我們eclipse IDE的工作環(huán)境設(shè)到我們之前做好的這個OSGI bundles集合上來了。

首先在我們已經(jīng)構(gòu)建dependences集合的工程里面創(chuàng)建一個Target definition



先選擇New一個Target definition

<o:p> </o:p>

父文件夾選擇我們的放了dependences的工程目錄,設(shè)置好target配置文件的文件名后,點擊完成,這樣一個target definition就建好了。然后對其做些配置

<o:p>
</o:p>

如果你已經(jīng)有一個基礎(chǔ)的eclipse環(huán)境(實際上就是個基礎(chǔ)的OSGI環(huán)境),那么就在Target Location中將這個Location設(shè)置進(jìn)來,此外再將我們剛才構(gòu)建的我們自需要的OSGI環(huán)境設(shè)置在Additional Locations里面,最后保存下這個文件,再點擊右上角的Set as Target Platform,那么我們的eclipse就可以立刻切換到我們自定義的OSGI開發(fā)環(huán)境中去了。

<o:p> </o:p>


總結(jié):利用
maven插件以及eclipsetarget platform的結(jié)合,來構(gòu)建一個我們自需要的OSGI環(huán)境,然后實現(xiàn)IDEtarget platform在這個target上的自由切換,有利于統(tǒng)一管理我們的OSGI開發(fā)平臺環(huán)境,對開發(fā)中要用到的bundles進(jìn)行了有效的積累和管理。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多