Ant打包时,如何保留类文件内容的行号

有时候将自己的程序打包成jar文件作为类库调用,出错时,遇到自己的jar包里的类文件报异常信息时,无法打印出行号,而是(Unknown Source)

解决办法:在编译任务中加上如下参数debug="true" debuglevel="lines,vars,source"

例如:

<target name="compile" depends="prepare" description="编绎源码">
   <javac encoding="utf-8" destdir="${build.dir}" source="1.5" target="1.5" 
        deprecation="false" optimize="false" failonerror="true" 
        debug="true" debuglevel="lines,vars,source">
     <src refid="src-paths" />
     <classpath refid="lib-paths" />
   </javac>

   <copy todir="${build.dir}" preservelastmodified="true">
     <fileset dir="${src.dir}">
       <include name="**/*.txt"/>
       <include name="**/*.xml"/>
       <include name="**/*.dtd"/>
       <include name="**/*.properties"/>
     </fileset>
   </copy>
</target> 

或者加入compilerarg

<javac srcdir="${basedir}/src;${corebasedir}/patch/spring" destdir="${classes}" includeantruntime="false" bootclasspath="${java.home}/lib/rt.jar" >
   <classpath refid="classpath"/>
   <compilerarg value="-g:lines,vars,source" />
   <!--
   <compilerarg value="-Xlint:deprecation" />
   <compilerarg value="-Xlint:unchecked" />
   -->
</javac>

更多参考:

http://www.linuxidc.com/Linux/2010-05/26395.htm

猜你喜欢

转载自happyqing.iteye.com/blog/1925032