`

通过ant build eclipse web 项目 加入了修改后的

    博客分类:
  • J2EE
阅读更多

build.xml

<project name="Generic Webapp" default="deploy_tomcat" basedir=".">

    <!-- Load properties -->
    <property file="build.properties" />

    <!-- Ensure that specified environment is valid -->
    <fileset dir="${JAVA_HOME}" />
    <fileset dir="${J2EE_HOME}" />


    <property name="webapp.name" value="${project_name}" />
    <property name="webapp.src" value="src" />
    <property name="webapp.webroot" value="WebRoot" />
    <property name="webapp.dist" value="dist" />
    <property name="webapp.target" value="build" />
    <property name="webapp.war" value="${webapp.name}.war" />


    <path id="classpath">
        <fileset dir="${webapp.target}/WEB-INF/lib">
            <include name="**/*.jar" />
        </fileset>
        <!-- 3rd party Jars -->
        <fileset dir="${JAVA_HOME}">
            <include name="**/*.jar" />
        </fileset>
        <fileset dir="${J2EE_HOME}">
            <include name="**/*.jar" />
        </fileset>
    </path>

    <target name="compile" description="Compile Java sources" depends="clean">
        <echo message="compile ${webapp.name}" />
        <mkdir dir="${webapp.target}/WEB-INF/lib" />
        <mkdir dir="${webapp.target}/WEB-INF/classes" />
        <copy todir="${webapp.target}" overwrite="yes">
            <fileset dir="${webapp.webroot}">
                <exclude name="**/*.class" />
            </fileset>
        </copy>
        <javac srcdir="${webapp.src}"
               destdir="${webapp.target}/WEB-INF/classes"
               debug="${compile.debug}"
               encoding="${compile.encoding}"
               deprecation="${compile.deprecation}"
               optimize="${compile.optimize}">
            <classpath refid="classpath" />
        </javac>
    </target>

    <target name="dist" depends="compile" description="Create web application archive">
        <echo message="Processing webapp ${webapp.name}" />
        <mkdir dir="${webapp.dist}" />
        <jar jarfile="${webapp.dist}/${webapp.war}" basedir="${webapp.target}" />
    </target>


    <target name="clean" description="Clean build and distribution directories">
        <echo message="Processing webapp ${webapp.name}" />
        <delete dir="${webapp.target}" />
        <delete file="${webapp.dist}/${webapp.war}" />
    </target>

    <target name="deploy_tomcat" depends="dist" description="deploy to the server">
        <echo message="deploy to the server ${tomcat_home}/webapps/${webapp.war}" />
        <copy file="${webapp.dist}/${webapp.war}" tofile="${tomcat_home}/webapps/${webapp.war}" overwrite="yes" />
        <delete dir="${webapp.target}" />
    </target>
</project>

 

build.properties

J2EE_HOME=..
JAVA_HOME=..
project_name=..
tomcat_home=..

compile.debug=false
compile.deprecation=false
compile.encoding=GBK
compile.optimize=true

 

上面的版本不能copy资源文件至war包  加个fix后的

<project name="Generic Webapp" default="war" basedir=".">

    <!-- Load properties -->
    <property file="build.properties" />

    <property name="webapp.name" value="${project_name}" />
    <property name="webapp.src" value="src" />
    <property name="webapp.webroot" value="WebRoot" />
    <property name="webapp.dist" value="dist" />
    <property name="webapp.target" value="build" />
    <property name="webapp.war" value="${webapp.name}.war" />


    <path id="classpath">
        <fileset dir="${webapp.target}/WEB-INF/lib">
            <include name="**/*.jar" />
        </fileset>
        <fileset dir="./compile_jar">
            <include name="**/*.jar" />
        </fileset>
    </path>

    <target name="compile" description="Compile Java sources" depends="clean">
        <echo message="compile ${webapp.name}" />
        <copy todir="${webapp.target}" overwrite="yes">
            <fileset dir="${webapp.webroot}">
                <exclude name="**/*.class" />
            </fileset>
        </copy>
        <delete dir="${webapp.target}/WEB-INF/classes" />
        <mkdir dir="${webapp.target}/WEB-INF/classes" />
       <javac srcdir="${webapp.src}"
               destdir="${webapp.target}/WEB-INF/classes"
               debug="${compile.debug}"
               encoding="${compile.encoding}"
               deprecation="${compile.deprecation}"
               optimize="${compile.optimize}">
            <classpath refid="classpath" />
        </javac>
        <copy todir="${webapp.target}/WEB-INF/classes" overwrite="true">
             <fileset dir="${webapp.src}">
                 <include name="**/*"/>
                 <exclude name="**/*.java"/>
                <exclude name="**/*.jar"/>
                <exclude name="**/*.class"/>
             </fileset>
         </copy>
    </target>

    <target name="war" depends="compile" description="Create web application archive">
        <echo message="create webapp ${webapp.name}" />
        <mkdir dir="${webapp.dist}" />
        <jar jarfile="${webapp.dist}/${webapp.war}" basedir="${webapp.target}" />
        <echo message="create src jar" />
         <jar jarfile="${webapp.dist}/${project_name}.jar">
             <fileset dir="${webapp.target}/WEB-INF/classes"
                 excludes="**/*.jar"
             />
         </jar>
        <echo message="copy scheduler-service.xml for jboss scheduler" />
        <copy file="./config/scheduler-service.xml" tofile="${webapp.dist}/scheduler-service.xml" overwrite="yes" /> 
    </target>


    <target name="clean" description="Clean build and distribution directories">
        <echo message="clean ${webapp.target}, ${webapp.dist}/${webapp.war}, ${webapp.dist}/${project_name}.jar " />
        <delete dir="${webapp.target}" />
		<delete file="${webapp.dist}/${webapp.war}" />
		<delete file="${webapp.dist}/${project_name}.jar" />
    </target>

</project>
 

 

 

 

 

修改后的  可以自动部署至tomcat 并启动tomcat

 

<project name="Generic Webapp" default="tomcat_start" basedir=".">
    <!-- Load properties -->
    <property file="build.properties" />

    <!-- Ensure that specified environment is valid -->
    <fileset dir="${JAVA_HOME}" />
    <fileset dir="${J2EE_HOME}" />


    <property name="webapp.name" value="${project_name}" />
    <property name="webapp.src" value="${basedir}/src" />
    <property name="webapp.webroot" value="${basedir}/WebRoot" />
    <property name="webapp.dist" value="${basedir}/dist" />
    <property name="webapp.target" value="${basedir}/build" />
    <property name="webapp.war" value="${webapp.name}.war" />


    <path id="classpath">
        <fileset dir="${webapp.target}/WEB-INF/lib">
            <include name="**/*.jar" />
        </fileset>
        <!-- 3rd party Jars -->
        <fileset dir="${JAVA_HOME}">
            <include name="**/*.jar" />
        </fileset>
        <fileset dir="${J2EE_HOME}">
            <include name="**/*.jar" />
        </fileset>
    </path>

    <target name="copy" description="copy libs and webcontent" depends="clean_project">
        <echo message="copy files from ${webapp.webroot} to ${webapp.target} without *.class" />
        <mkdir dir="${webapp.target}/WEB-INF/lib" />
        <mkdir dir="${webapp.target}/WEB-INF/classes" />
        <copy todir="${webapp.target}" overwrite="yes">
            <fileset dir="${webapp.webroot}">
                <exclude name="**/*.class" />
            </fileset>
        </copy>
    </target>

    <target name="compile" description="Compile Java sources" depends="copy">
        <echo message="compile src in ${webapp.src} to ${webapp.target}/WEB-INF/classes" />
        <javac srcdir="${webapp.src}"
               destdir="${webapp.target}/WEB-INF/classes"
               debug="${compile.debug}"
               encoding="${compile.encoding}"
               deprecation="${compile.deprecation}"
               optimize="${compile.optimize}">
            <classpath refid="classpath" />
        </javac>
    </target>

    <target name="dist" depends="compile" description="Create web application archive">
        <echo message="Processing webapp ${webapp.name}" />
        <mkdir dir="${webapp.dist}" />
        <jar jarfile="${webapp.dist}/${webapp.war}" basedir="${webapp.target}" />
        <delete dir="${webapp.target}" />
    </target>


    <target name="clean_project" description="Clean build and distribution directories">
        <echo message="Clean build and distribution directories" />
        <echo message="Clean ${webapp.target}" />
        <delete dir="${webapp.target}" />
        <echo message="Clean ${webapp.dist}/${webapp.war}" />
        <delete file="${webapp.dist}/${webapp.war}" />
    </target>

    <target name="clean_tomcat" depends="tomcat_stop" description="Clean tomcat webapp">
        <echo message="Clean tomcat webapp" />
        <delete file="${tomcat_home}/webapps/${webapp.war}" />
        <delete dir="${tomcat_home}/webapps/${webapp.name}" />
    </target>

    <target name="deploy_tomcat" depends="clean_tomcat,dist" description="deploy to the server">
        <echo message="deploy to the server ${tomcat_home}/webapps/${webapp.war}" />
        <copy file="${webapp.dist}/${webapp.war}" tofile="${tomcat_home}/webapps/${webapp.war}" overwrite="yes" />
    </target>

    <target name="tomcat_start" depends="deploy_tomcat" description="tomcat starting.....">
        <echo message="start tomcat" />
        <!--<java jar="${tomcat_home}/bin/bootstrap.jar" fork="true">
            <jvmarg value="-Dcatalina.home=${tomcat_home}" />
        </java>-->
        <exec dir="${tomcat_home}/bin" executable="cmd.exe" spawn="true" vmlauncher="false">
            <arg line="/c startup.bat" />
        </exec>
    </target>

    <target name="tomcat_stop">
        <echo message="stopping tomcat ..." />
        <java jar="${tomcat_home}/bin/bootstrap.jar" fork="true">
            <jvmarg value="-Dcatalina.home=${tomcat_home}" />
            <arg line="stop" />
        </java>
        <!--<exec dir="${tomcat_home}/bin" executable="cmd.exe" spawn="true" vmlauncher="false">
                    <arg line="/c shutdown.bat" />
                </exec>-->
        <echo message="wait for 5 second" />
        <waitfor maxwait="5" maxwaitunit="second">
            <available file="errors.log" />
        </waitfor>
    </target>
</project>

 

 

分享到:
评论

相关推荐

    使用ANT远程发布Web项目

    ### 使用ANT远程发布Web项目 #### 一、概述 在软件开发过程中,自动化构建与部署是提高开发效率、减少人为错误的重要手段之一。Apache Ant 是一个用于自动化软件编译、测试、部署等过程的Java库及命令行工具,它...

    使用ant部署eclipse开发的web工程到tomcat

    Ant是一个基于Java的构建工具,它允许通过XML格式的构建文件(如`build.xml`)来定义构建任务,极大地简化了项目管理。 首先,让我们理解标题"使用ant部署eclipse开发的web工程到tomcat"所涉及的核心概念。Eclipse...

    ant build.xml 配置文件

    我的开发环境是Eclipse,ant.xml是放在项目下的ant(新建),也可以修改project的basedir.

    在eclipse中使用ant灵活构建web应用.docx

    首先,Ant是Apache软件基金会的一个项目,它通过XML格式的构建文件(build.xml)来描述构建过程,包括编译、打包、测试等任务。Ant以其灵活性和可扩展性受到开发者青睐,它可以独立于IDE运行,也可以被IDE如Eclipse...

    FaustCplus头像截图工具源码,eclipse web项目,发入即可使用

    【描述】中的“eclipse web项目,发入即可使用”表明该项目是使用Eclipse IDE构建的,Eclipse是一款广泛使用的开源集成开发环境,特别适合Java和C++项目。它提供建设、调试和管理代码的全套工具。而“发入即可使用”...

    ant build.xml

    ant的使用,附件是build.xml,配置是怎么为web项目打包为war。

    ant打包Web工程

    在IT行业中,构建工具是开发流程中的重要环节,它们帮助开发者自动化地编译、测试和打包...结合Eclipse的项目配置文件,可以高效地管理和构建Web工程。熟悉并掌握Ant的使用,对提升开发效率和项目管理能力大有裨益。

    Eclipse中Ant的配置与测试 build.xml

    本文将详细介绍如何在Eclipse环境中配置和测试Ant,以及如何通过`build.xml`文件来管理这些任务。 #### 二、Ant简介 Apache Ant是一款开源的Java项目构建工具,它使用XML格式的脚本来定义项目的构建过程。Ant脚本...

    Eclipse中使用Ant

    通过在Eclipse中有效运用Ant,开发者可以实现项目的自动化构建,不仅节省了大量重复性工作的时间,还提高了构建过程的可靠性和一致性。这不仅有利于团队协作,还能显著提升软件开发的整体效率和质量。因此,掌握...

    ECLIPSE+WEB开发配置

    通过Eclipse的Ant视图,开发者可以编写和管理build.xml文件,执行构建任务,例如编译源代码、打包应用和执行测试。这使得项目构建自动化,提高了工作效率。 接下来,Eclipse+JBoss则针对企业级Java应用程序。JBoss...

    ant部署远程服务器

    通过以上步骤,你可以在Eclipse中使用Ant成功地部署远程Tomcat服务器上的Web应用。这个过程提高了开发效率,使得迭代更新和故障排查更加便捷。请记住,安全总是第一位的,使用SSH私钥而非明文密码可以增强安全性。...

    Ant使用说明

    `antBuild.xml` 可能是项目特定的扩展或附加的构建任务,或者是为了某些特殊目的而创建的辅助构建脚本。 `WEB-INF` 目录是Java Web应用的标准结构部分,它包含Web应用的配置文件(如`web.xml`)、类文件(`classes`...

    Ant详细配置总结

    它的核心优势在于其高度的可定制性和灵活性,使得开发者能够通过简单的XML配置文件(通常命名为`build.xml`)来实现整个项目的构建流程。 **Ant的特点:** 1. **跨平台性**:由于Ant是基于Java编写的,因此可以在...

Global site tag (gtag.js) - Google Analytics