最近用ant给java web程序打war包时发现打出来的war包里面WEB-INF里的文件均有两个,后来发现加上一句fileset,include,exclude语句之后就没有重复文件了
打包代码如下
<target name="antwar" depends="build" description="not wrap the java file to .war">
<wbr><wbr><delete dir="${build.src}" /><br><wbr><wbr><war warfile="${war.dest}/anttest.war" webxml="${buildwar.dest}/WEB-INF/web.xml"><br><wbr><wbr><wbr><lib dir="${buildwar.dest}/WEB-INF/lib" /><br><wbr><wbr><wbr><classes dir="${build.dest}" /><br><wbr><wbr><wbr><span style="color:#ED1C24; word-wrap:normal; word-break:normal; line-height:21px"><fileset dir="${buildwar.dest}"><br><wbr><wbr><wbr><wbr><include name="***.*" /><br><wbr><wbr><wbr></fileset><br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><wbr><wbr></war><br><wbr></target></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
如果要忽略一些文件就需要使用fileset和excludes
比如:复制一个目录中所有.java为结尾的文件,除去文件名含有Test字符的文件
<target name="copyfiles"><wbr><wbr><wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><copy todir="${dest.dir}" overwrite="true"><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><fileset dir="${src.dir}"><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><include name="***Test*"/><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></fileset><br><wbr><wbr><wbr><wbr><wbr><wbr></copy><br>
</target><br><br>
复制一个目录中所有文件,除去含有Test字符的目录<br>
<target name="copyfiles"><wbr><wbr><wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><copy todir="${dest.dir}" overwrite="true"><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><fileset dir="${src.dir}"><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><exclude name="****"/><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></fileset><br><wbr><wbr><wbr><wbr><wbr><wbr></copy><br>
</target><br>
需要加/**<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
下面附上build.xml的所有代码,用于打包java web程序,并将war包拷贝(发布)到tomcat的webapp路径下面
<?xml version="1.0" encoding="GB2312"?>
<project basedir="." default="publish" name="anttest">
<wbr><target name="init" description="set initiation directory"><br><wbr><wbr><property name="src" value="${basedir}/src" /><br><wbr><wbr><property name="config" value="${basedir}/config" /><br><wbr><wbr><property name="lib" value="${basedir}/WebContent/WEB-INF/lib" /><br><wbr><wbr><property name="webapp" value="${basedir}/WebContent" /><br><wbr><wbr><property name="packages" value="ant.*" /></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><property name="build.src" value="${basedir}/AntBuild/anttest/src" /><br><wbr><wbr><property name="build.dest" value="${basedir}/AntBuild/anttest/WEB-INF/classes" /></wbr></wbr></wbr></wbr>
<wbr><wbr><property name="buildwar.dest" value="${basedir}/AntBuild/anttest" /><br><wbr><wbr><property name="build.javadocs" value="${basedir}/Antbuild/doc" /><br><wbr><wbr><property name="jar.dest" value="${basedir}/AntBuild/jar" /><br><wbr><wbr><property name="war.dest" value="${basedir}/AntBuild/war" /></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><property name="tomcat.home" value="D:\JavaSoft\apache-tomcat-6.0.32" /><br><wbr><wbr><property name="j2eelib.dir" value="D:\JavaSoft\eclipse-gee-ganymede-win32\eclipse\plugins" /></wbr></wbr></wbr></wbr>
<wbr><wbr><path id="classpath"><br><wbr><wbr><wbr><fileset dir="${j2eelib.dir}"><br><wbr><wbr><wbr><wbr><include name="***.jar" /><br><wbr><wbr><wbr></fileset><br><wbr><wbr></path><br><wbr></target></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><target name="prepare" depends="init" description="create directories for war, and copy source file to war direcoty"><br><wbr><wbr><mkdir dir="${build.src}" /><br><wbr><wbr><mkdir dir="${build.dest}" /><br><wbr><wbr><mkdir dir="${buildwar.dest}" /><br><wbr><wbr><mkdir dir="${jar.dest}" /><br><wbr><wbr><mkdir dir="${war.dest}" /><br><wbr><wbr><copy todir="${build.src}"><br><wbr><wbr><wbr><fileset dir="${src}" /><br><wbr><wbr></copy><br><wbr><wbr><copy todir="${build.src}"><br><wbr><wbr><wbr><fileset dir="${config}" /><br><wbr><wbr></copy><br><wbr><wbr><copy todir="${buildwar.dest}"><br><wbr><wbr><wbr><fileset dir="${webapp}" /><br><wbr><wbr></copy><br><wbr></target></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><target name="build" depends="prepare" description="compile the java file. copy configuration files about properties to compile result directory"><br><wbr><wbr><javac srcdir="${build.src}" destdir="${build.dest}"><br><wbr><wbr><wbr><classpath refid="classpath" /><br><wbr><wbr></javac><br><wbr><wbr><copy todir="${build.dest}"><br><wbr><wbr><wbr><fileset dir="${build.src}"><br><wbr><wbr><wbr><wbr><include name="***.*" /><br><wbr><wbr><wbr><wbr><exclude name="WEB-INF*.*" /><br><wbr><wbr><wbr></fileset><br><wbr><wbr></war><br><wbr></target></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><target name="publish" depends="antwar,clean" description="publish .war to tomcat directory"><br><wbr><wbr><copy todir="${tomcat.home}/webapps"><br><wbr><wbr><wbr><fileset dir="${war.dest}"><br><wbr><wbr><wbr><wbr><include name="***.classes" /><br><wbr><wbr></delete><br><wbr><wbr><delete dir="${buildwar.dest}" /><br><wbr></target><br>
</project></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
分享到:
相关推荐
使用ant打war包使用ant打war包使用ant打war包使用ant打war包使用ant打war包使用ant打war包
命令行中ant打war包,一个简单易懂的小例子
NULL 博文链接:https://hello-player.iteye.com/blog/438319
博文链接:https://sunrie.iteye.com/blog/109470
打包:将编译后的*.calss文件打包成 jar或war包; 部署:将打包后的war文件部署到制定的web应用服务器中去。(tomcat的webappers中去) ******************************* ant默认执行build.xml文件 ant是使用的java...
ant的配置文件ant的配置文件ant的配置文件ant的配置文件
ant打zip包简单demo,网上看到竟然一个ant包,也要要积分下载,汗死鸟
用一个简单的ejb3.0示例记录ant打ear包的过程.
jenkins+svn一键发布war包,简单、高效、便捷。操作简单。
使用ant批量打包,替换渠道号,文件中包含所用到的所有资源。
简单的案例用ant将工程打war
ant打包提示找不到文件解决办法-附件资源
ant 编译、打包、部署项目的build文件
ant 涉及第三方包问题 打包第三方包 或者添加第三方包 ant 涉及第三方包问题 打包第三方包 或者添加第三方包 ant 涉及第三方包问题 打包第三方包 或者添加第三方包 ant 涉及第三方包问题 打包第三方包 或者添加第三...
一个普通java程序用ant打包的列子,完整的,里面采用的是eclipse自带的编译插件进行的打包,需要结合eclipse中的插件一起使用
用ANT将java程序打成jar包,只是简单实现单个程序的打包,整个java项目个人感觉还是eclipse好。
这个名是名离自ant原码的,由于java.util.zip处理中文文件名时有问题可以用这个包代替那个使用就不会有中文问题了,我加了一个ZipTool.java,这个就是一个示例文件和方法打包文件。 <br>特点: 一、自有原码不...