eclipshine

          Eclipse主題站

          Plugin中的Classpath的計算

          基本規則:每一個Plugin都有自己獨立的ClassLoader,因此也有獨立的classpath。這個Classpath按順序由如下的幾個部分組成:
          1. The OSGi parent class loader。所有在OSGi中的的class loader均有一個公共的parent class loader。在缺省時,這就是java boot class loader。boot loader通常只知道rt.jar,但是這個boot classpath可以通過java命令來添加。
          2. 所有imported plugin的exported libaries。、
          3. plugin及其fragments所聲明的libraries。
           
          由上可知,要添加一個Jar到一個plug-in的classpath,可以有如下的幾種辦法:
          1. 添加到boot classpath,雖然這樣做很簡單,但通常這并不是一個好辦法,它會影響到所有安裝的plugin。
          2. 可以將Jar添加到這個plugin的declared libraries中。這是可行的,如果其它的plugin并不使用到這個Jar的話。
          3. 創建一個新的plugin來wrap這個library。在將這個plugin添加到requried plugin中去。這種是官方推薦的方法。缺點是會對特定版本的插件形成依賴。
          4. OSGi的parent loadre可以通過osgi.parentClassloader系統變量來改變,并由此改變classpath。通常這也不是一個好的辦法。

          posted on 2005-08-14 07:58 Living Not Striving 閱讀(1701) 評論(3)  編輯  收藏 所屬分類: RCPECLIPSE

          評論

          # re: Plugin中的Classpath的計算 2005-09-16 10:11 八進制

          文章都很好,為何不更新了?  回復  更多評論   

          # re: Plugin中的Classpath的計算 2005-09-19 21:49 eclipshine

          呵呵,謝謝關注。
          這些時比較忙,沒時間寫東西,過些時可能會更新。
          也看過你的Blog,希望多交流。  回復  更多評論   

          # re: Plugin中的Classpath的計算 2005-09-20 21:50 gady

          寫的非常好 正是我所需的 我在用spring中的東西架到eclipse中 老是告訴我加載不到class 后來發現程序不用eclipse classloader 用了別的classloader了 如果早看見這篇文章 我就不用花了幾個小時的無用功了 :)
          希望你能及時更新 我會始終關注的  回復  更多評論   

          主站蜘蛛池模板: 华坪县| 黔西县| 盐津县| 全南县| 龙山县| 建始县| 建德市| 鞍山市| 澳门| 屏边| 望都县| 洛浦县| 石城县| 武功县| 永嘉县| 福安市| 皮山县| 景谷| 宿州市| 独山县| 通道| 侯马市| 铁力市| 中方县| 叙永县| 会同县| 濉溪县| 延津县| 绥棱县| 陵水| 敦煌市| 永顺县| 休宁县| 侯马市| 大竹县| 邵武市| 佛教| 邹平县| 土默特右旗| 若羌县| 泗水县|