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

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

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

    子在川上曰

      逝者如斯夫不舍晝夜
    隨筆 - 71, 文章 - 0, 評論 - 915, 引用 - 0
    數據加載中……

    Plugin和App的統一路徑接口

    在Eclipse插件(Plugin)開發中,需要寫一些Test Case(by JUnit),這些Test Case不是以插件方法運行的,而是一些普通的Application。這時要注意到插件和App獲取路徑的方式是不同的,這時如果你要測試一些項目中的一些涉及到讀文件的一些類,無疑會導致出錯。為了讓Plugin和App路徑獲取透明化,不防寫一個工具類來提供統一的路徑獲取方法,示例類如下所示:

    這個思路也可以擴展到Plugin和App不一樣的地方,這樣寫起Test Case就方便多了。

    說明:示例中的AdminConsolePlugin類就是創建插件項目自動生成的那個類,你的項目也許叫“項目名+Plugin”

    import?java.io.IOException;
    import?java.io.InputStream;
    import?java.net.MalformedURLException;
    import?java.net.URL;

    import?org.eclipse.core.runtime.Path;
    import?org.eclipse.ui.plugin.AbstractUIPlugin;

    import?com.wxxr.management.admin.console.AdminConsolePlugin;

    /**
    ?*?用于插件項目和非插件項目,提供兩者通用的方法接口
    ?*?
    @author?chengang?2006-3-30
    ?
    */
    public?class?ProjectUtil?{

    ????
    private?static?AbstractUIPlugin?plugin?=?AdminConsolePlugin.getDefault();

    ????
    private?ProjectUtil()?{}

    ????
    /**
    ?????*?判斷當前的運行狀態是否為插件方式
    ?????*?
    @return?true=插件方式運行
    ?????
    */
    ????
    private?static?boolean?isPlugin()?{
    ????????
    return?plugin?!=?null;
    ????}

    ????
    public?static?URL?getURL(String?path)?{
    ????????
    if?(isPlugin())//如果是插件
    ????????????//return?plugin.find(new?Path(path));
    ??????????? return?FileLocator.find(plugin.getBundle(), new?Path(path), null);??? //陳剛修改于2006-8-24,eclipse3.2已經建議用此方法
    ????????
    else
    ????????????
    try?{
    ????????????????
    return?new?URL("file:"?+?path);
    ????????????}?
    catch?(MalformedURLException?e)?{
    ????????????????
    throw?new?RuntimeException(path?+?"?is?error",?e);
    ????????????}
    ????}

    ????
    public?static?InputStream?getInputStream(String?path)?{
    ????????URL?url?
    =?getURL(path);
    ????????
    try?{
    ????????????
    return?url.openStream();
    ????????}?
    catch?(IOException?e)?{
    ????????????
    throw?new?RuntimeException(e);
    ????????}
    ????}

    }

    posted on 2006-03-30 11:22 陳剛 閱讀(1011) 評論(0)  編輯  收藏 所屬分類: Eclipse

    主站蜘蛛池模板: 99在线视频免费观看| 成人免费一区二区三区在线观看| 亚洲精品成a人在线观看☆| 亚洲VA中文字幕无码一二三区| 免费无码看av的网站| 一级毛片免费观看不卡视频| 青青草国产免费国产是公开| 国产成人精品日本亚洲专一区| 亚洲A∨无码无在线观看| 2022中文字字幕久亚洲| 国产高清在线免费视频| 野花高清在线电影观看免费视频| 国产99视频精品免费专区| 中文字幕版免费电影网站| 爱情岛论坛免费视频| 精品久久久久久久久亚洲偷窥女厕| 亚洲不卡在线观看| 亚洲福利一区二区三区| 亚洲欧洲免费视频| 亚洲av无码一区二区三区网站| 亚洲一区AV无码少妇电影☆| 亚洲第一区精品日韩在线播放| 国产一区二区三区在线免费 | 情侣视频精品免费的国产| 182tv免费视视频线路一二三 | 日韩亚洲国产二区| 国产青草视频免费观看97| 女性自慰aⅴ片高清免费| 免费观看黄网站在线播放| 成人免费大片免费观看网站| 91香蕉在线观看免费高清| 中文字幕免费视频| 18成禁人视频免费网站| 99久久免费国产香蕉麻豆| 久久99国产综合精品免费| 曰批视频免费40分钟试看天天| 2021在线永久免费视频| 99久久精品日本一区二区免费| 在线看免费观看AV深夜影院 | 亚洲国产精品lv| 亚洲日本中文字幕区|