zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0
          我的程序使用log4j做日志輸出。
          程序在eclipse下運行,日志輸出正常。我的build.xml文件如下:
          <?xml version="1.0" encoding="UTF-8"?>
          <project name="USSD" basedir="." default="compile">
          ??? <property name="src.dir" value="src"/>
          ??? <property name="build.dir" value="bin"/>
          ??? <property name="lib.dir" value="F:\OPEN-LIB"/>
          ??? <path id="compile.lib">
          ??? ??? <fileset dir="${lib.dir}">
          ??? ??? ??? <include name="ojdbc14.jar"/>??? ??? ???
          ??? ??? ??? <include name="log4j-1.2.12.jar"/>
          ??? ??? ??? <include name="commons-dbcp-1.2.2.jar"/>
          ??? ??? ??? <include name="commons-pool-1.3.jar"/>???
          ??? ??? </fileset>
          ??? ??? <pathelement path="${build.dir}"/>???
          ??? </path>
          ??? <target name="initdir">
          ??? ???
          ??? </target>
          ??? <target name="compile">
          ??? ??? <javac srcdir="${src.dir}" destdir="${build.dir}">
          ??? ??? ??? <classpath refid="compile.lib"/>
          ??? ??? </javac>
          ??? </target>
          ??? <target name="run" depends="compile">
          ??? ??? <java dir="${build.dir}" classname="com.cybersoftchina.ussd.PushMain">
          ??? ??? ??? <classpath refid="compile.lib"/>
          ??? ??? </java>
          ??? </target>
          </project>

          我的第一次分析,就覺得可能是,ant系統在運行的時候沒有找到配置文件log4j.properties.
          所以,我就把src\log4j.properties 復制到 工程的根目錄,然后再運行,發現還是不行。

          所以,我就想到是src下的配置文件,在編譯之后應該復制到了和classes目錄下相對應的路徑。
          所以,我就到bin目錄下找,果然沒有。
          因為我在build.xml文件中,compile的時候,并沒有把配置文件log4j.properties復制到其對應目錄。
          所以,復制src\log4j.properties到bin\log4j.properties。
          再運行,OK了。

          解決方案:
          把src目錄的所有配置文件(此處是log4j.properties配置文件)復制到classes目錄的對應目錄。

          修改build.xml如下:
          <?xml version="1.0" encoding="UTF-8"?>
          <project name="USSD" basedir="." default="compile">
          ??? <property name="src.dir" value="src"/>
          ??? <property name="build.dir" value="bin"/>
          ??? <property name="lib.dir" value="F:\OPEN-LIB"/>
          ??? <path id="compile.lib">
          ??? ??? <fileset dir="${lib.dir}">
          ??? ??? ??? <include name="ojdbc14.jar"/>??? ??? ???
          ??? ??? ??? <include name="log4j-1.2.12.jar"/>
          ??? ??? ??? <include name="commons-dbcp-1.2.2.jar"/>
          ??? ??? ??? <include name="commons-pool-1.3.jar"/>???
          ??? ??? </fileset>
          ??? ??? <pathelement path="${build.dir}"/>???
          ??? </path>
          ??? <target name="initdir">
          ??? ???
          ??? </target>
          ??? <target name="compile">
          ??? ??? <javac srcdir="${src.dir}" destdir="${build.dir}">
          ??? ??? ??? <classpath refid="compile.lib"/>
          ??? ??? </javac>
          ??? </target>
          ??? <target name="run" depends="compile">
          ??? ??? <java dir="${build.dir}" classname="com.cybersoftchina.ussd.PushMain">
          ??? ??? ??? <classpath refid="compile.lib"/>
          ??? ??? </java>
          ??? </target>
          </project>
          <?xml version="1.0" encoding="UTF-8"?>
          <project name="USSD" basedir="." default="compile">
          ??? <property name="src.dir" value="src"/>
          ??? <property name="build.dir" value="bin"/>
          ??? <property name="lib.dir" value="F:\OPEN-LIB"/>
          ??? <path id="compile.lib">
          ??? ??? <fileset dir="${lib.dir}">
          ??? ??? ??? <include name="ojdbc14.jar"/>??? ??? ???
          ??? ??? ??? <include name="log4j-1.2.12.jar"/>
          ??? ??? ??? <include name="commons-dbcp-1.2.2.jar"/>
          ??? ??? ??? <include name="commons-pool-1.3.jar"/>???
          ??? ??? </fileset>
          ??? ??? <pathelement path="${build.dir}"/>???
          ??? </path>
          ??? <target name="initdir">
          ??? ???
          ??? </target>
          ??? <target name="compile">
          ??? ??? <javac srcdir="${src.dir}" destdir="${build.dir}">
          ??? ??? ??? <classpath refid="compile.lib"/>
          ??? ??? </javac>
          ??? ??? <copy todir="${build.dir}">
          ??? ??? ??? <fileset dir="${src.dir}">
          ??? ??? ??? ??? <include name="**/*.properties"/>???
          ??? ??? ??? ??? <include name="**/*.xml"/>
          ??? ??? ??? </fileset>
          ??? ??? </copy>

          ??? </target>
          ??? <target name="run" depends="compile">
          ??? ??? <java dir="${build.dir}" classname="com.cybersoftchina.ussd.PushMain">
          ??? ??? ??? <classpath refid="compile.lib"/>
          ??? ??? </java>
          ??? </target>
          </project>

          上面的深藍色的部分是新添加的部分。這樣,在編譯的時候就把所有的配置文件也一同復制到了class文件夾下面了。

          再ant run ,就在文件中有日志了。









          |----------------------------------------------------------------------------------------|
                                     版權聲明  版權所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2008-12-19 11:41 zhyiwww 閱讀(3893) 評論(0)  編輯  收藏 所屬分類: java basicj2ee
          主站蜘蛛池模板: 疏附县| 仁寿县| 图们市| 古蔺县| 客服| 定安县| 科技| 东乌珠穆沁旗| 南溪县| 湖北省| 嵊泗县| 抚宁县| 苗栗县| 淄博市| 延吉市| 措勤县| 灯塔市| 邵东县| 珲春市| 綦江县| 察哈| 余姚市| 盈江县| 扶余县| 安龙县| 巴马| 柏乡县| 沙河市| 通河县| 兰溪市| 梁山县| 谷城县| 滦南县| 和政县| 维西| 中山市| 资溪县| 黑山县| 靖边县| 兴安县| 南宫市|