<?xml version="1.0" encoding="UTF-8"?>
<project name="ExamplePlugin" default="release" basedir="..">
 <property name="src.dir" value="src" />
 <property name="dest.dir" value="bin" />
 <property name="lib.dir" value="lib" />
 <property name="im.path" value="lib/dist" />
 <property name="spark.home" value="D:/Users/lipeng.BJ/Workspaces/MyEclipse 10/openfire_src/target/openfire/lib" />
 <path id="lib.classpath">
  <fileset dir="${spark.home}" includes="**/*.jar, **/*.zip" />
 </path> <target name="clean">
  <delete dir="${dest.dir}" />
  <delete dir="${lib.dir}" />
  <delete dir="${im.path}" />
 </target> <target name="init" depends="clean">
  <mkdir dir="${dest.dir}" />
  <mkdir dir="${lib.dir}" />
  <mkdir dir="${im.path}" />
 </target> <target name="build" depends="init">
  <javac srcdir="${src.dir}" destdir="${dest.dir}" classpathref="lib.classpath" target="1.6" />
 </target> <!-- 最重要的是这里,打两次包 -->
 <target name="jar" depends="build">
  <jar jarfile="${lib.dir}/ExamplePlugin.jar" basedir="${dest.dir}" />
  <jar jarfile="${im.path}/ExamplePlugin.jar">
   <fileset dir=".">
    <include name="lib/*.jar" />
   </fileset>
   <fileset dir=".">
    <include name="plugin.xml" />
   </fileset>
  </jar>
 </target>
 <target name="release" depends="jar">
 
 </target>
</project>

解决方案 »

  1.   

    你的现象肯定是这样的:
    (1)在本地使用myeclipse或其他工具打包,上传至服务器正常
    (2)在使用ANT + SVN 更新后 自动编译时 出错
    导致原因是:jar缺失 (在本地使用myeclipse或其他工具打包,上传至服务器正常,一部分引用包,直接通过开发工具与项目建立联系,可以一起打压入包 ;而你直接使用SVN或其他工具下载到服务端的代码,并不能建立此链接,故 包缺失);
    建议在本地先打压成war包,之后复制war包中的所有jar包到项目的lib目录(添加至SVN或其他代码管理 工具中),之后再更新代码重新编译,估计应该还缺失一个包 servlet-api.jar ,也一并添加到项目的lib目录吧,我上次就是这样的 嘿嘿,折腾了大半天!