我的程序使用log4j做日志輸出。
程序在eclipse下運(yùn)行,日志輸出正常。我的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>
我的第一次分析,就覺(jué)得可能是,ant系統(tǒng)在運(yùn)行的時(shí)候沒(méi)有找到配置文件log4j.properties.
所以,我就把src\log4j.properties 復(fù)制到 工程的根目錄,然后再運(yùn)行,發(fā)現(xiàn)還是不行。
所以,我就想到是src下的配置文件,在編譯之后應(yīng)該復(fù)制到了和classes目錄下相對(duì)應(yīng)的路徑。
所以,我就到bin目錄下找,果然沒(méi)有。
因?yàn)槲以赽uild.xml文件中,compile的時(shí)候,并沒(méi)有把配置文件log4j.properties復(fù)制到其對(duì)應(yīng)目錄。
所以,復(fù)制src\log4j.properties到bin\log4j.properties。
再運(yùn)行,OK了。
解決方案:
把src目錄的所有配置文件(此處是log4j.properties配置文件)復(fù)制到classes目錄的對(duì)應(yīng)目錄。
修改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>
上面的深藍(lán)色的部分是新添加的部分。這樣,在編譯的時(shí)候就把所有的配置文件也一同復(fù)制到了class文件夾下面了。
再ant run ,就在文件中有日志了。
|----------------------------------------------------------------------------------------|
版權(quán)聲明 版權(quán)所有 @zhyiwww
引用請(qǐng)注明來(lái)源 http://www.aygfsteel.com/zhyiwww
|----------------------------------------------------------------------------------------|