ant编译类文件报软件包不存在

下午写了一个ant脚本,打算让ant自动将项目中需要的类编译一下。Eclipse中编译没有任何问题,但是一运行ant脚本就报错,很多第三方的jar包不存在或者干脆找不到,实在让人百撕不得骑姐……
报错如下:
[javac] D:\eclipse\workspace\patch-installer\src\com\chinapower\updater\bpm\util\Check4Patch.java:7: 软件包 org.dom4j 不存在 
[javac] import org.dom4j.Element; 
[javac]                  ^ 
[javac] D:\eclipse\workspace\patch-installer\src\com\chinapower\updater\bpm\util\Check4Patch.java:10: 找不到符号
找不到jar包的错误很常见,一般都是classpath配置的不对。
隐约感觉到,肯定ant依赖的classpath有关系。上网查了一下,果然如此。
原来我们需要指定一下javac命令依赖的类库,下面给出一个模板ant脚本:
<path id="lib">        
  <fileset dir="E:\patch-installer\installer\lib"> 
      <include name="*.jar"/> 
  </fileset>     
</path>
<target name="compile"> 
        <javac srcdir="${srcDir}" destdir="${buildDir}" encoding="gbk"> 
            <classpath refid="lib"></classpath> 
        </javac> 
    </target>
指定好之后,可以正常编译通过。

例如我的项目:必须把依赖的模块配置进去

<target name="build-webservices" depends="build-system,build-organization">
		<ant antfile="build-webservices.xml" inheritall="false" dir="webservices"/>
</target>

猜你喜欢

转载自zhengjunxiang.iteye.com/blog/2366197