<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    心有多大舞臺便有多大

    Embrace changes, pursue excellence, share niceness.

    equinox開發osgi時的一個小技巧:定義公用的jar文件.

    一般在開發java項目的時候,我們會有一些公用的jar文件,在開發bundle的時候,如果把這些jar文件重復的在各bundle中復制的話,即煩瑣,又容易出錯.
    今天我琢磨出一個方法,雖然不敢說這么做是否是正確方法,但至少解決了正確的問題(用錯誤的方法解決正確的事總比用正確的方法解決錯誤的事好!哈哈).下面是解決的方法:
     1.修改org.eclipse.osgi.xxxxxx.jar文件
       a.把文件中META-INF目錄中的ECLIPSE.SF,ECLIPSE.RSA文件刪除掉(因為jar文件是通過SF文件來保證jar中的內容不被篡改!如果不了解這個的,可以去查下jar的詳細說明)
       b.修改jar根目錄下的J2SE-1.5.profile文件(如果你開發osgi使用的是其它J2SE環境,請編輯相應的文件)
          這個文件中定義了osgi啟動時的org.osgi.framework.system.packages屬性,因為osgi中每個bundle都有自己獨立的classpath,那么在各個bundle之間共享的class就是通過這個屬性中定義的包來指定的.(如果不了解osgi的class載入機制,請參閱osgi的入門教材!),你可以在文件中的這個屬性值上加入自己的包,例如:
     ........
     org.ietf.jgss,\
     org.omg.*,\
     org.w3c.*,\
     org.xml.*,\
     sun.*,\
     demo.*           //這一行是新增加的包
    2.把demo.*所在的jar文件加入到啟動osgi的classpath中,一般你可以系統環境變量的classpath中加入這個jar文件路徑.
    3.把第1步中修改后的osgi jar文件拷貝到eclipse的plugins目錄下,重新啟動eclipse
    4.打開一個bundle的MANIFEST.MF文件,在dependencies項中,你就可以在imported packages中導入剛才定義的demo包了.

    雖然這樣做可以做到在各個bundle間共享一些jar文件,但這些公用的jar一定要確認清楚,否則會給以后的開發帶來麻煩!因為之所以用osgi來開發,就是為了使用它的class loader的管理機制.

    posted on 2008-05-29 19:33 pony 閱讀(2753) 評論(3)  編輯  收藏 所屬分類: Java

    評論

    # re: equinox開發osgi時的一個小技巧:定義公用的jar文件. 2008-05-30 09:31 遲來的兵

    其實可以不需要修改人家的東西,我們可以把依賴的每一個jar包都做成bundle,把需要的包export出去,就像eclipse那樣。不過需要把這些jar包放在一起管理,避免重復制作bundle。  回復  更多評論   

    # re: equinox開發osgi時的一個小技巧:定義公用的jar文件. 2008-05-30 10:19 Link

    同意樓上的,公用的類庫可以做成一個Bundle,在Bundle中把每個包都Export出來,這樣Hacker OSGi本身,感覺有點不妥。  回復  更多評論   

    # re: equinox開發osgi時的一個小技巧:定義公用的jar文件. 2008-05-30 13:40 Always BaNg.

    這樣是不是太麻煩了一點?如果下一版本Equinox不這么干你的豈不是不兼容了?

    寫個批處理,把所有公用的jar打到一個jar包,然后轉換jar為bundle,豈不更好?

    或者在Eclipse的向導:Plug-in Development中有一個向導就是
    Plug-in from existing JAR archives

    我都是這么干的:)  回復  更多評論   

    主站蜘蛛池模板: 久久青草91免费观看| 中文字幕亚洲一区二区va在线| 猫咪社区免费资源在线观看 | 精品国产日韩亚洲一区91| 国产自国产自愉自愉免费24区| 中字幕视频在线永久在线观看免费| 内射无码专区久久亚洲| 久久亚洲AV无码精品色午夜麻豆 | 一级一级一级毛片免费毛片| 真人做人试看60分钟免费视频| 国产亚洲精品国看不卡| 亚洲av最新在线观看网址| 蜜桃AV无码免费看永久| 黑人大战亚洲人精品一区| 国产又黄又爽胸又大免费视频| 四虎永久精品免费观看| 亚洲AV无码成人专区| 日本免费电影一区二区| 亚洲卡一卡2卡三卡4卡无卡三| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 伊人久久综在合线亚洲91| 国产一区二区免费| 久久精品国产亚洲精品| 中文无码成人免费视频在线观看| 亚洲卡一卡2卡三卡4卡无卡三| 丁香花免费完整高清观看| 国产精品亚洲lv粉色| 亚洲伊人久久精品影院| 2022国内精品免费福利视频| 亚洲AV无码一区二三区| 国产精品亚洲AV三区| 亚洲综合AV在线在线播放| 99久久免费看国产精品| 久久狠狠高潮亚洲精品| 久久一区二区三区免费播放 | 亚洲另类少妇17p| 免费无码国产在线观国内自拍中文字幕 | 亚洲av无码国产综合专区| 免费观看四虎精品国产永久| 怡红院免费的全部视频| 亚洲亚洲人成综合网络|