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

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

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

    金陵之風塵

    灰塵,也有生活;
    它們在風中飄著,在煙中戀愛,在暖氣上撫摸;
    它們在好幾個地方找我……
    posts - 5, comments - 13, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    使用ANT,無法訪問conf目錄下的文件

    Posted on 2008-08-04 02:52 風塵仆仆 閱讀(601) 評論(1)  編輯  收藏 所屬分類: Java

         在使用ANT的過程中遇到了問題,工程目錄下的conf目錄存放的是一些配置文件,在程序中需要讀取這此文件。
        使用IDE(如JCreator)編譯運行程序,在IDE環境中增加了classpath路徑“E:\MyProject\conf”后,在Main.java中調用
          ClassLoader.getSystemResource("default.properties");
        可以查找到default.properties文件并獲得其路徑E:\MyProject\conf\default.properties。
        但是在使用ANT編譯運行時,正確設置了<classpath>,可還是無法調用ClassLoader.getSystemResource查找到文件。

    工程的目錄如下:
    E:\MyProject
     |- build
     |  |- classes
     |  |  |- app
     |  |     |- Main.class
     |  |- test
     |  |  |- app
     |        |- MainTest.class
     |
     |- src
     |  |- app
     |     |- Main.java
     |
     |- test
     |  |- app
     |     |- Main.Test.java
     |
     |- lib
     |  |- commons-lang-2.4.jar
     |
     |- conf
     |  |- default.properties
     |
     |- build.xml

    build.xml部分內容如下:
    <?xml version="1.0"?>

    <project name="myproject" default="test" basedir=".">
      <property name="build.dir" value="build"/>
      <property name="src" value="src"/>
      <property name="test.src" value="test"/>
      <property name="lib.dir" value="lib"/>
      <property name="conf.dir" value="conf"/>

      <path id="lib.path">
        <fileset dir="${lib.dir}">
          <include name="**/*.jar"/>
        </fileset>
      </path>
     
      <path id="run.classpath">
        <pathelement location="${build.dir}/classes"/>
        <pathelement location="${conf.dir}"/> <!-- 已經添加了conf目錄 -->
        <path refid="lib.path"/>
      </path>
     
      <!-- 測試default.properties是否存在 -->
      <available property="have.conf" resource="default.properties">
        <classpath refid="run.classpath"/>
      </available>
     
      <!-- 運行ant echo時,返回have.conf: true,證明可以找到文件 -->
      <target name="echo">
        <echo message="have.conf: ${have.conf}"/>
      </target>
     
      <!-- 運行ant run時,ClassLoader.getSystemResource("default.properties")返回卻為null -->
      <target name="run" depends="compile">
        <java classname="app.Main">
          <classpath refid="run.classpath"/>
        </java>
      </target>
    </project>


    評論

    # re: 使用ANT,無法訪問conf目錄下的文件  回復  更多評論   

    2008-08-07 23:51 by 風塵仆仆
    搞定了,不應該使用表態的ClassLoader.getSystemResource("default.properties");

    應該:
    ClassLoader classloader = Thread.currentThread().getContextClassLoader();
    URL url = classloader.getResource("default.properties");

    參考Log4j源代碼Loader.java

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


    網站導航:
     
    主站蜘蛛池模板: 91情侣在线精品国产免费| 国产在线观看免费完整版中文版| 亚洲国产日韩女人aaaaaa毛片在线 | 亚洲日韩精品无码专区网站| 在线观看免费无码视频| 亚洲乱码卡一卡二卡三| 亚洲成av人片在线观看天堂无码| 一区二区三区四区免费视频| 亚洲人成网站色7799| 亚洲色婷婷综合久久| 成人免费无码大片a毛片软件| 一区二区三区视频免费观看| 亚洲熟妇色自偷自拍另类| 亚洲高清免费视频| 国产精品69白浆在线观看免费| 日韩在线观看免费完整版视频| 亚洲第一永久在线观看| 亚洲精品乱码久久久久久不卡| 国产乱子精品免费视观看片| 免费看又黄又爽又猛的视频软件| 亚洲综合一区二区| 亚洲综合色在线观看亚洲| 最近中文字幕mv免费高清电影| 精品一卡2卡三卡4卡免费视频| 狠狠综合亚洲综合亚洲色| 亚洲精品高清国产麻豆专区| 久久亚洲AV无码西西人体| 真实乱视频国产免费观看| 在线观看的免费网站无遮挡| 特黄特色的大片观看免费视频| 精品久久久久久亚洲精品| 久久精品视频亚洲| 国产AV无码专区亚洲AV漫画| 国产伦一区二区三区免费| av无码久久久久不卡免费网站| 91在线视频免费观看| 另类图片亚洲校园小说区| 亚洲中文字幕乱码AV波多JI| 久久国产亚洲精品无码| 国产V亚洲V天堂无码久久久| 亚洲视频在线一区二区|