这样做,war包可能会只有几M,什么更小。具体如何动态的加载jar文件,我们在下一章讲解,这一章,我们先来看ant打包的build.xml配置。
看源代码:
<?xml version="1.0" encoding="UTF-8" ?>
<project name="nojar" default="deleteClasses" basedir=".">
<property name="classes" value="build/classes" />
<property name="build" value="build" />
<property name="lib" value="WebRoot/WEB-INF/lib" />
<path id="compile.jar">
<fileset dir="${lib}">
<include name="*.jar" />
</fileset>
</path>
<!-- 删除build路径-->
<target name="deleteBuild">
<delete dir="build" />
<copy todir="${classes}/com/herman/config">
<fileset dir="${basedir}/src/com/herman/config">
<include name="*" />
</fileset>
</copy>
</target>
<!-- 建立build/classes路径,并编译class文件到build/classes路径下-->
<target name="compile" depends="deleteBuild">
<mkdir dir="${classes}" />
<javac srcdir="src" destdir="${classes}" includeantruntime="on" encoding="utf-8">
<classpath refid="compile.jar" />
</javac>
</target>
<!-- 打war包-->
<target name="war" depends="compile">
<war warfile="${build}/nojar.war" webxml="WebRoot/WEB-INF/web.xml" encoding="utf-8">
<!-- 拷贝WebRoot下除了WEB-INF和META-INF的两个文件夹-->
<fileset dir="WebRoot" includes="**/*.jsp"></fileset>
<!--<fileset dir="WebRoot" includes="**/*.*" excludes="META-INF,WEB-INF"/>-->
<!-- 拷贝lib目录下的jar包-->
<!--<lib dir="${lib}" />-->
<!-- 拷贝build/classes下的class文件-->
<classes dir="${classes}" />
</war>
</target>
<!-- 删除build/下的classes下的字节码文件,减少war包的总大小-->
<target name="deleteClasses" depends="war">
<!--<delete dir="${classes}"></delete>-->
</target>
</project>
是不是很简单,好吧,如果你认为本文还可以,请关注我的个人博客!
或者加入QQ群:135430763共同学习!
ant的高级使用,ant命令详解,ant打包,ant编译后打包去掉jar文件,布布扣,bubuko.com
ant的高级使用,ant命令详解,ant打包,ant编译后打包去掉jar文件
原文:http://blog.csdn.net/xmtblog/article/details/36187699