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了 如果早看見這篇文章 我就不用花了幾個小時的無用功了 :)
          希望你能及時更新 我會始終關注的  回復  更多評論   

          主站蜘蛛池模板: 河间市| 天门市| 隆化县| 确山县| 印江| 玛曲县| 阿拉善左旗| 柏乡县| 石首市| 盈江县| 芜湖市| 西乡县| 中宁县| 奉化市| 浦县| 垣曲县| 土默特右旗| 自治县| 高雄市| 玛纳斯县| 玛多县| 宜良县| 麻城市| 顺昌县| 莱州市| 榆树市| 贡觉县| 宁南县| 齐齐哈尔市| 固安县| 庆城县| 广丰县| 图片| 洪湖市| 耿马| 新干县| 大方县| 绥中县| 渝北区| 青海省| 阿图什市|