`

通过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 build.xml 配置文件

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

    ant build.xml

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

    Eclipse+Web开发从入门到精通(实例版)

    第 1 章 Eclipse 基础应用实例... 2 1.1 下载并安装 Eclipse. 2 1.2 安装语言包... 3 1.3 第一个Java 实例... 4 1.3.1 新建Java 项目... 4 1.3.2 配置构建路径... 4 1.3.3 新建Java 类... 5 1.3.4 ...

    Eclipse中使用ANT

    可以阅读或简单修改build.xml无疑可以帮助你更灵活地集成、管理应用项目,如果需要学习maven这种开源项目管理解决方案,也是要以理解ant为基础的哟。另外,使用ant的过程实际上对构建进行了文档化,它是无关于IDE的,...

    apache-ant-1.8.0.rar

    开发WEB项目时,配合eclipse直接编译程序的一个小工具,build的时候用的ant

    webservices代理类自动生成

    项目是eclipse工具生成的,解压后可直接导入到eclipseIDE工具中,在java_web.wsdl文件中写入调用webservices的wsdl内容,然后执行src下的build(ant工具),刷新目录后可在src下看到生成的代理类。 本工程适用与java...

    Maven权威指南 很精典的学习教程,比ANT更好用

    简单的项目对象模型 (Project Object Model) 3.5. 核心概念 3.5.1. Maven插件和目标 (Plugins and Goals) 3.5.2. Maven生命周期 (Lifecycle) 3.5.3. Maven坐标 (Coordinates) 3.5.4. Maven仓库(Repositories)...

    struts 2.0 源码 第三章

    对于Web应用,将该应用复制到%TOMCAT_HOME%/webapps路径下,然后进入build.xml所在路径,执行如下命令: ant build -- 编译应用 启动Tomcat服务器,使用浏览器即可访问该应用。 3. 对于Eclipse项目文件,导入...

    struts2.0 第五章 第1,2节

    对于Web应用,将该应用复制到%TOMCAT_HOME%/webapps路径下,然后进入build.xml所在路径,执行如下命令: ant build -- 编译应用 启动Tomcat服务器,使用浏览器即可访问该应用。 3. 对于Eclipse项目文件,导入...

    fckeditor for jsp 的jar包

    把Tomcat安装目录下/server/lib里的catalina-ant.jar复制到项目的/WEB-INF/lib下。打开build.xml,修改property name="catalina.home"成Tomcat的安装目录。修改taskdef name="deploy"、taskdef name="list"、taskdef...

    helloworld_war_ant:带有构建的Ant示例

    Helloworld战争Java WAR项目/模板项目的示例包含: Helloworld Servlet(使用注释) 静态html文件示例最基本的web.xml 编译时servlet-api.jar(因此不需要Java EE) 用于构建WAR的Ant build.xml 使用slf4j-api和sl4j...

    iuhyiuhkjh908u0980

    JBPM文档1、 加入JBPM支持包下载jbpm-starters-kit-3.1.4在项目的classPath中加入jbpm-3.1.4.jar、jbpm-identity-3.1.2.jar、jbpm-webapp-3.1.2.jar,jbpm-3.1.4.jar必须加入,是JBPM的核心包;bpm-identity-3.1.2....

    彻底解决fckeditor(jsp版)上传中文图片乱码问题

    1.修改Web容器的字符编码,如果Web容器用的是Tomcat,则修改conf/server.xml文件,在两个Connector中添加“URIEncoding="utf-8"”,我这里用的是utf-8编码,所以修改成utf-8,若项目是gb2312编码,则设置为...

    java 混淆工具,不可逆 jocky 也许是最好的了

    事实上,在Eclipse中使用Jocky时,Jocky也是首先针对所选工程生成Ant的Build文件(默认名称jocky_build.xml),然后再通过Ant完成混淆编译。 以下是Jocky在Eclipse中自动生成的Ant Build 文件示例: ...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    5.4 使用Eclipse建立Web开发项目 5.5 Eclipse的常用快捷键 5.5.1 有关格式化的快捷键 5.5.2 有关调试的快捷键 5.5.3 有关重构的快捷键 5.6 小结 第六章 Log4j使用指南 6.1 Log4j介绍 6.1.1 Log4j历史 6.1.2 Log4j...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    5.4 使用Eclipse建立Web开发项目 5.5 Eclipse的常用快捷键 5.5.1 有关格式化的快捷键 5.5.2 有关调试的快捷键 5.5.3 有关重构的快捷键 5.6 小结 第六章 Log4j使用指南 6.1 Log4j介绍 6.1.1 Log4j历史 6.1.2 Log4j...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    5.4 使用Eclipse建立Web开发项目 5.5 Eclipse的常用快捷键 5.5.1 有关格式化的快捷键 5.5.2 有关调试的快捷键 5.5.3 有关重构的快捷键 5.6 小结 第六章 Log4j使用指南 6.1 Log4j介绍 6.1.1 Log4j历史 6.1.2 Log4j...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    5.4 使用Eclipse建立Web开发项目 5.5 Eclipse的常用快捷键 5.5.1 有关格式化的快捷键 5.5.2 有关调试的快捷键 5.5.3 有关重构的快捷键 5.6 小结 第六章 Log4j使用指南 6.1 Log4j介绍 6.1.1 Log4j历史 6.1.2 Log4j...

    Android代码-phonegap-android

    PhoneGap Android PhoneGap Android is an Android ...Apache ANT (For build script) Ruby, Rubygems, nokogiri (for build.rb) Recommended: Eclipse (Recommended for back-end debugging, not required) G

    robot-mars:一个旨在建造和开发机器人越野车的项目

    as Ant build in eclipse environment)如果该文档已经生成(./doc/中存在文件可能表明该文档已正确生成。它可能是较旧的版本,所以当一个人第一次打开该项目时应该生成该文档),可以按照以下说明打开文档。要运行...

Global site tag (gtag.js) - Google Analytics