eclipshine

          Eclipse主題站

          Plugin中的Classpath的計算

          基本規(guī)則:每一個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. 創(chuàng)建一個新的plugin來wrap這個library。在將這個plugin添加到requried plugin中去。這種是官方推薦的方法。缺點是會對特定版本的插件形成依賴。
          4. OSGi的parent loadre可以通過osgi.parentClassloader系統(tǒng)變量來改變,并由此改變classpath。通常這也不是一個好的辦法。

          posted on 2005-08-14 07:58 Living Not Striving 閱讀(1696) 評論(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 后來發(fā)現(xiàn)程序不用eclipse classloader 用了別的classloader了 如果早看見這篇文章 我就不用花了幾個小時的無用功了 :)
          希望你能及時更新 我會始終關注的  回復  更多評論   

          主站蜘蛛池模板: 栾川县| 睢宁县| 蒙阴县| 龙门县| 武陟县| 微博| 金湖县| 延庆县| 贵阳市| 盘山县| 胶州市| 洞口县| 简阳市| 大姚县| 沙田区| 安西县| 深水埗区| 固原市| 土默特左旗| 大埔县| 年辖:市辖区| 巍山| 曲水县| 安庆市| 海盐县| 城市| 阳新县| 莱西市| 临沧市| 江门市| 汾阳市| 临夏市| 故城县| 连州市| 昌江| 娱乐| 林口县| 临武县| 荔波县| 崇左市| 高台县|