大夢想家

          5年開發工程師,2年實施經理,X年售前顧問,......
          數據加載中……
          再次理解Eclipse的類加載機制

          今天在寫RCP的基礎運行插件的時候,發現一個非常有意思的問題:
              我有兩個插件A和B,A是RCP運行主插件,B是普通插件,A依賴于B存在并運行。當我把B打成JAR包,放到A下,做本地依賴的時候,那么Log4j的配置文件加載無誤,但是這樣是違反了Eclipse插件開發原則(Eclipse最小運行單位是插件)的;我把A和B通過feature進行關聯,然后在A中依賴B插件,通過product文件啟動A插件的時候,發現B插件無法加載Log4j的配置文件... ...
              很郁悶的問題哦~為什么?
              因為我一直在使用原來java的類加載機制思考問題,一個類加載機,將加載所有的Class~在Eclipse下則不是這樣的,每一個類加載機只負責一個插件的內容加載~多個類加載機之間是沒有關系的~
              因此,每一個插件在類加載時都是獨立的個體~所以每一個插件下面都需要自行增加一個Log4j配置文件,大家都獨立維護自己的Log4j配置文件~唉,有一個配置文件泛濫的年代啊~


          ps:

          深入剖析 Eclipse 類裝入器



          客戶虐我千百遍,我待客戶如初戀!

          posted on 2007-06-18 15:13 阿南 閱讀(1787) 評論(0)  編輯  收藏 所屬分類: Eclipse-RCP

          主站蜘蛛池模板: 霍山县| 湛江市| 镇巴县| 上蔡县| 湘潭县| 昭苏县| 十堰市| 中卫市| 新闻| 永州市| 永善县| 孝义市| 呼伦贝尔市| 伊金霍洛旗| 民县| 随州市| 湘潭县| 依兰县| 特克斯县| 淮南市| 富裕县| 迁安市| 巩留县| 澄迈县| 桐乡市| 庆城县| 九台市| 石首市| 哈巴河县| 新兴县| 吴忠市| 花莲市| 巩义市| 个旧市| 广德县| 玉溪市| 余庆县| 瓮安县| 花莲县| 翼城县| 乌拉特中旗|