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

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

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

    如鵬網 大學生計算機學習社區

    CowNew開源團隊

    http://www.cownew.com 郵件請聯系 about521 at 163.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      363 隨筆 :: 2 文章 :: 808 評論 :: 0 Trackbacks

    這個題目其實有點大了,其實說的問題很小。
    大家都說java是跨平臺的,可是用java寫出來的代碼能不能真正的跨平臺還是要開發人員來把握。
    我今天在CSDN上看到一位朋友給JDBMonitor提出的一條bug:
    "如果我的系統是linux,那個listenerconfig=就難寫了,因為我要是寫成/root/什么的,他會認為是classpath,實際上這是個物理路徑,期待改進"
    因為在上一個小版本中,我為了同時適應用戶通過類路徑指定配置文件的位置,比如,com/cownew/config.xml,也能通過真實的文件路徑制定文件的位置,比如c:/config.xml
    所以我就要判斷用戶給出的路徑是類路徑還是文件路徑,我的實現方式是判斷路徑是否以a-z的字母開頭,并且后邊跟著":/",如果是,則為文件路徑,否則為類路徑。
    但是在unix(linux)下,絕對路徑則是/root/cfg/config.xml的形式,我就給誤判斷成是類路徑了。這樣在這些平臺下就報錯了,我采用如下方式解決:
    JDBMonitor會首先把<configfilepath>當成類路徑去讀取,如果讀取失敗再把它當作文件路徑去讀,例如如果您設定/root/cfg/config.xml,本意是想加載文件路徑/root/cfg/下的文件config.xml,但是如果您的類路徑中有root.cfg這個包,并且包下同樣有config.xml這個文件,那么JDBMonitor會去讀root.cfg中的文件config.xml,而非/root/cfg/config.xml。
    示意代碼如下:
    InputStream is = null;
    is = this.getClass().getResourceAsStream(configFile);
    if(is==null)
    {
    ?? try
    ?{
    ??is = new FileInputStream(configFile);
    ?} catch (FileNotFoundException e)
    ?{
    ??is = null;
    ?}
    }

    不知道有沒有更好的辦法解決,請高手指教。有時間也去看看那些tomcat之類的服務器是怎么解決這個問題的。
    JDBMonitor最強大的無侵入式數據庫監控、日志工具。
    COWNEW團隊,最專業的開源團隊!官方網站:
    www.cownew.com

    posted on 2006-05-25 01:39 CowNew開源團隊 閱讀(916) 評論(3)  編輯  收藏

    評論

    # re: java不一定就跨平臺 2006-05-25 02:22 胖老鷹
    如文中所說,類似listenerconfig=這樣的配置,存在可能混淆的因素,我覺得比較好的解決方法是要求listenerconfig=xxx,其中xxx支持URL的語法。即可以是
    file:///root、file:///c:\、classpath:com/cownew等等,這樣寫配置的人、看配置的人、以及解析的代碼中都沒有二義性,比較清晰。
    也可以增加一層假設,就是沒有file、classpath的協議名字的情況下,默認為文件路徑,如果要指定classpath路徑,要求必須使用classpath:xxxx格式。  回復  更多評論
      

    # re: java不一定就跨平臺 2006-05-25 06:36 wolfsquare
    沒了解過JDBMonitor,不過這么做就太“侵入”了。
    我原來還以為是,照原驅動JDBC的寫法,在協議前加個標識listenerconfig=就好,其他照舊,為什么不這樣做呢?  回復  更多評論
      

    # re: java不一定就跨平臺 2006-05-25 07:37 charon@xxx
    這個好像和java是不是跨平臺一點關系也沒有。
    這個題目出得也太@##$%!了  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日韩精品免费一级视频| 97国免费在线视频| 成人毛片18女人毛片免费96| 亚洲欧洲国产成人精品| 免费AA片少妇人AA片直播| 亚洲图片中文字幕| 一二三四免费观看在线电影| 亚洲va乱码一区二区三区| 最近中文字幕免费mv视频8| 亚洲精品国产综合久久久久紧| 成年人免费网站在线观看| 亚洲av成人中文无码专区| 亚洲v高清理论电影| 无码国产精品一区二区免费模式| 亚洲AV成人无码久久精品老人 | 亚洲精品日韩专区silk| 91九色老熟女免费资源站| 亚洲 欧洲 日韩 综合在线| 免费看无码自慰一区二区| 亚洲熟妇av午夜无码不卡| 四虎免费久久影院| 成人电影在线免费观看| 亚洲视频在线观看网址| 久久久久久国产精品免费免费| 国产偷国产偷亚洲高清人| 亚洲中文字幕在线乱码| 99久久国产热无码精品免费| 欧洲亚洲国产精华液| 亚洲人JIZZ日本人| 成年在线观看网站免费| 日本一区二区三区免费高清在线 | 亚洲精品资源在线| 麻豆国产VA免费精品高清在线| 在线播放国产不卡免费视频 | 亚洲韩国—中文字幕| 啦啦啦中文在线观看电视剧免费版| 99亚洲乱人伦aⅴ精品| 久久久久亚洲精品成人网小说| 成人免费视频软件网站| 九九免费观看全部免费视频| 久久久久久亚洲Av无码精品专口|