zoukankan      html  css  js  c++  java
  • ant:如何用ant将web project打包成war包

    说明:src中的文件将不会呈现出来,诸位可以自己写一个简单的web项目,然后依照我所提供的ant脚本配置来设置。

     

    文件结构如图所示:

                 

    配置为下:

    build.xml

        <?xml version="1.0" encoding="UTF-8"?>
      <project default="clean">
            <property name="bulid.dir" value="build" description="输出目录"></property>
           <property name="bulid.web.dir" value="${bulid.dir}/WEB-INF" description="web配置输出目录"></property>
           <property name="bulid.web.class.dir" value="${bulid.web.dir}/classes" description="web类输出目录"></property>
           <property name="bulid.web.lib.dir" value="${bulid.web.dir}/lib" description="web引用jar输出目录"></property>
       
           <property name="src.dir" value="src" description="源代码目录"></property>
           <property name="web.root.dir" value="WebRoot" description="web相关文件目录"></property>
       
       
           <property name="encoding" value="utf-8" description="文件编码"></property>
       
            <target name="clean" description="清理输出目录">
                 <delete dir="${bulid.dir}"></delete>
               <mkdir dir="${bulid.dir}"/>
               <mkdir dir="${bulid.web.dir}"/>
               <mkdir dir="${bulid.web.lib.dir}"/>
               <mkdir dir="${bulid.web.class.dir}"/>
            </target>
        
         <fileset id="basic.jars.file" dir="../JAR_File">
             <include name="bean/*.jar"/>
             <include name="loggin/*.jar"/>
             <include name="javaee/jst1-1.2.jar"/>
         </fileset>
       
         <fileset id="strus.jars.file" dir="../JAR_File/struts/struts1.3/core">
         <exclude name="commons-beanutils-1.8.0.jar" />
         <exclude name="commons-logging-1.0.4.jar" />
         </fileset>
        
         <fileset id="javee.jars.file" dir="../JAR_File">
             <include name="javaee/javaee.jar"/>
         </fileset>
       
         <target name="complie">
             <antcall target="clean"></antcall>
            <javac srcdir="${src.dir}" encoding="${encoding}" destdir="${bulid.web.class.dir}">
                <classpath>
                    <!-- 在refid中不能用","来隔离多个文件集 -->
                    <fileset refid="basic.jars.file"></fileset>
                    <fileset refid="strus.jars.file"></fileset>
                    <fileset refid="javee.jars.file"></fileset>
                </classpath>
            </javac>
          <copy todir="${bulid.web.class.dir}">
              <!-- 复制源代码目录中所有的非java文件 -->
           <fileset dir="${src.dir}" excludes="**/*.java"></fileset>
          </copy>
           <copy todir="${bulid.web.lib.dir}" flatten="true">
               <fileset refid="basic.jars.file"></fileset>
               <fileset refid="strus.jars.file"></fileset>
           </copy>
          <copy todir="${bulid.dir}">
             <fileset dir="${web.root.dir}"></fileset>
          </copy>
         </target>
       
          <target name="make.war"  depends="complie">
              <!-- war为打包web项目压缩文件, destfile为目标输出文件,basedir为需要打包的web项目目录  -->
              <war destfile="${bulid.dir}/AntTwo.war" basedir="${bulid.dir}"></war>
          </target>
      </project>

     

    执行结果:

    target-->clean

                          

    target-->complie 

           

     

    target-->make.jar

         

     

    提示:

        A:如果没有ant基础然后又想简单的了解ant的人 ,请阅读本人上一篇ant的文章《ant:入门演示            (project,target,delete,mkdir,fileset,antcall,javac,classpath,jar……)

          

                B:如果对war文件结构体系不了解的人,建议用myeclipse打包,解压后查看war包的文件结构体系。或者直接参考tomcat中webapps目录下的项目结构体系(war包的文件结构体系和webapps目录下的项目结构体系是一样的)。myeclipse将项目打包成war的演示:请阅读本人《将java project打包成jar包,web project 打包成war包的几种演示》文章

  • 相关阅读:
    作业6
    作业8
    作业7
    作业5
    作业4
    作业3
    作业2
    作业1
    浏览器跨域的细节
    解析node-cors模块
  • 原文地址:https://www.cnblogs.com/yangkai-cn/p/4017297.html
Copyright © 2011-2022 走看看