2011-06-15 99 views

回答

2

無法獲取p2.mirror工作;這個任務要麼鏡像太多(就像你只對最後一個或者特定的一個感興趣)和/或太少(比如只是特性,而沒有任何依賴)。

我的解決辦法是這樣的:

  1. 解壓Eclipse來eclipse-template
  2. 創建一個副本eclipse-install
  3. 安裝在eclipse-install
  4. 功能,刪除任何文件,在其中存在的版本副本步驟#1(cd eclipse-template ; find . -type f -exec rm "../eclipse-install/{}")。

這留下了功能和插件文件。使用org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher將其轉化爲p2回購(詳情請參閱see the docs)。

[UPDATE 2011-11-01]還有另一種解決方案,如果你不需要從命令行運行它。

  1. 創建Eclipse項目「目標定義」(創建一個新的或使用現有的,無所謂)
  2. 添加更新站點此* .TARGET文件
  3. 選擇功能你想
  4. 在目標定義編輯器(旁邊的「設置爲目標平臺」)

的右上角那將所有選中的功能輸出與確切版本點擊微小的「導出」按鈕你選擇了PL我們所有的依賴關係都放在您選擇的文件夾中。

目標編輯器有點笨拙而且速度慢,但它起作用。

將文件保留在版本控制之下,因爲目標編輯器有時會混亂。

+0

亞倫,我一直有這個問題很長時間,試圖創建真正的離線安裝程序(大規模部署到開發機器)的東西像m2e或sts ...你做了我的一天!謝謝 – Mastermnd 2011-11-01 11:21:17

0

我使用下面的螞蟻代碼,以反映在單個存儲庫2個特點:

<!-- Creates single p2 repo from 2 repos --> 
<p2.mirror> 
    <repository location="file:///${DESTINATION}/repo-name" append="false"/> 
    <source> 
     <repository location="file:///${feature1-repo}/feature1"/> 
     <repository location="file:///${feature2-repo}/feature2"/> 
    </source> 
</p2.mirror> 

而且可以使用<iu>和功能ID指定的功能被鏡像。特點ID必須按以下方式指定:

your.feature.id.group.group.group 

如果你有你的具體功能配置。平臺,那麼IU成爲

your.feature.id.win32.win32.x86 (OS, Widget system, Architecture) 
+0

不應該是* your.feature.id *'.feature.group'嗎? – 2011-06-15 15:41:46