`
txin0814
  • 浏览: 219847 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

ant 将WEB工程打成WAR包并进行远程部署

    博客分类:
  • ant
阅读更多
公司最近要求我将本地项目编译,并发布到服务器上,在网上看了很久,只找到了有关ANT相关操作的,现将代码贴出希望到时候有人需要.
我还有一个问题,希望名位大虾帮我解决,如何利用ANT从TFS上自动获取项目源码?
<?xml version="1.0" encoding="utf-8"?>

<project name="xbcw" default="deploy">
	<!-- 
	<property name="dist" value="E:/txin0814/workspace1/myceaas/dist" />
	-->
	<property name="context-path" value="xbcw" />
	<!-- 必须保证TOMCAT在运行状态  服务器IP 端口 -->
	<property name="tomcat.manager.url" value="http://192.168.1.68:9090/manager/html" />
	<!-- TOMCAT用户名 -->
	<property name="tomcat.manager.username" value="admin" />
	<!-- TOMCAT密码 -->
	<property name="tomcat.manager.password" value="" />

	<!--//////////////////////////////////////////////////////// -->
	<!-- 建立目录结构  
	        project  
	            ... src                 JAVA源码编辑目录  
	            ... WebRoot             web文件存放地方  
	                ... WEB-INF   
	                    ...lib          jar包(类库)存放目录  
	            ... build               编译生成的class文件存放目录  
	            ... dist                war和javadoc存放目录  
	            ... build.xml           ant脚本  
	    -->

	<property name="src.dir" value="src" />
	<property name="lib.dir" value="WEB-INF/lib" />

	<property name="webRoot.dir" value="WebRoot" />
	<property name="web-inf.dir" value="${webRoot.dir}/WEB-INF" />

	<property name="build.dir" value="build" />

	<property name="dist.dir" value="dist" />


	<!-- 初始化 classpath -->
	<path id="project.classpath">
		<fileset dir="${webRoot.dir}/${lib.dir}">
			<include name="**/*.jar" />
		</fileset>

		<pathelement location="${build.dir}/classes" />
		<pathelement path="${java.class.path}" />
	</path>

	<!-- 删除之前的目录结构 -->
	<target name="clear">
		<delete dir="${build.dir}" />
		<delete dir="${dist.dir}" />
	</target>

	<!-- 创建目录结构 -->
	<target name="init">
		<mkdir dir="${build.dir}/classes" />
		<mkdir dir="${dist.dir}" />
	</target>

	<!-- 编译Java代码 -->
	<target name="compile" depends="init" description="编译java文件">
		<javac srcdir="${src.dir}" destdir="${build.dir}/classes">
			<compilerarg line="-encoding GBK" />

		</javac>
		<copy todir="${build.dir}">
			<fileset dir="${src.dir}">
				<include name="**/*.xml" />
				<include name="**/*.jar" />
			</fileset>
		</copy>
		<copy todir="${web-inf.dir}/classes">
			<fileset dir="src">
				<include name="**/*.properties" />
				<include name="**/*.xml" />
			</fileset>
		</copy>
		<copy todir="${web-inf.dir}/classes">
			<fileset dir="${build.dir}/classes">
				<include name="**/*.*" />
			</fileset>
		</copy>
		
	</target>

	<!-- 将class文件打成 jar包 -->
	<!--  
	    <target name="pack" depends="compile"> 
	        <jar jarfile="${build.dir}/${ant.project.name}.jar"> 
	            <fileset dir="${build.dir}/classes"> 
	                <include name="**/*.class"/> 
	            </fileset> 
	        </jar> 
	    </target> 
	-->

	<!-- 打成war包, 名称默认为 项目名 -->
	<target name="dist" depends="compile" description="将工程打成war包">
		<war destfile="${dist.dir}/${ant.project.name}.war" basedir="${webRoot.dir}" webxml="${web-inf.dir}/web.xml" />
	</target>


	
	<!--//////////////////////////////////////////////////////// -->

	<target name="undeploy" description="Remove application in Tomcat">
		<echo message="undeploying to web ..." />
		<taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" />
		<undeploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}"
			path="/${context-path}" />
	</target>

	<target name="deploy" description="Install application in Tomcat" depends="dist">
		<echo message="deploying to web ..." />
		<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" />
		<deploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" 
			path="/${context-path}" war="${dist.dir}/xbcw.war" update="true" />
		<!-- file:${dist}/deploy.war -->
	</target>

	<target name="list">
		<echo message="list web tomcat ..." />
		<taskdef name="list" classname="org.apache.catalina.ant.ListTask" />
		<list url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" />
	</target>

</project>

如果JAVA文件引用了第三方JAR包,还要把所有的JAR全部引用进来
<path id="project.classpath">
	
	        <pathelement location="WebRoot/WEB-INF/classes"/>
	        <pathelement location="WebRoot/WEB-INF/lib/activation.jar"/>
	        <pathelement location="WebRoot/WEB-INF/lib/commons-codec-1.4.jar"/>
	        <pathelement location="WebRoot/WEB-INF/lib/commons-httpclient-3.1.jar"/>
	        <pathelement location="WebRoot/WEB-INF/lib/commons-logging-1.1.1.jar"/>
	        <pathelement location="WebRoot/WEB-INF/lib/jsoup-1.5.2.jar"/>
	        <pathelement location="WebRoot/WEB-INF/lib/mailapi.jar"/>
			<pathelement location="WebRoot/WEB-INF/lib/smtp.jar"/>
	    </path>


并在JAVAC中加对其进行CLASSPATH的引用
<javac srcdir="${src.dir}" destdir="${build.dir}/classes">
			<compilerarg line="-encoding GBK" />
			<classpath refid="project.classpath"/>
		</javac>
分享到:
评论

相关推荐

    ant打war包

    3. 使用Ant进行构建和部署的步骤:解释如何运行Ant脚本,以及如何将生成的WAR包部署到Web服务器。 4. 版本控制操作:如何使用Ant与SVN交互,如更新代码、提交修改、解决冲突等。 5. 常见问题和解决方案:列出可能...

    使用ant打war包

    本篇文章将详细阐述如何使用Ant来构建WAR(Web Application Archive)包。 #### 一、Ant简介 Ant是一个基于Java的构建工具,它可以用来执行一系列的任务,如编译Java源代码、运行单元测试、部署应用程序等。Ant...

    ant打包Web工程

    本文将深入探讨“ant打包Web工程”这一主题,基于提供的标签“源码”和“工具”,我们将围绕Apache Ant这个强大的Java构建工具进行讲解。 Apache Ant是一个开源的Java构建工具,它以XML格式定义了构建过程,使得...

    将项目打成war包

    部署:将打包后的war文件部署到制定的web应用服务器中去。(tomcat的webappers中去) ******************************* ant默认执行build.xml文件 ant是使用的java文件编写,所以具有跨平台的特性。 再使用ant执行...

    Ant 打 war 包过程

    在Java Web开发中,"Ant打war包过程"是一个关键步骤,它涉及到使用Apache Ant工具将项目打包成一个可部署的WAR(Web Application Archive)文件。Ant是一个基于XML的构建工具,广泛用于自动化Java项目的构建、编译和...

    ant将工程打war

    在Java开发领域,Ant是一个非常重要的...在描述的“简单的案例用ant将工程打war”中,我们首先要创建`build.xml`文件,并设置基本的项目配置。这通常包括项目的源代码目录、输出目录、类路径等信息。例如: ```xml ...

    用ant进行war打包

    本篇主要介绍如何使用Ant来进行WAR(Web Application Archive)文件的打包,这在Java Web应用的发布和部署过程中至关重要。 首先,我们需要了解什么是WAR文件。WAR文件是Java Web应用程序的标准打包格式,它包含...

    如何在dos下将工程打包成war包

    ### 如何在DOS下将工程打包成WAR包 在软件开发过程中,特别是Java Web项目的部署环节,将项目打包成WAR文件是一项常见的需求。WAR文件(Web Application Archive)是一种用于封装Web应用程序的标准格式,它包含了...

    用ANT将java程序打成jar包

    本篇文章将详细解释如何使用ANT将Java程序打成JAR包。 首先,理解ANT的基本概念是必要的。Apache ANT是一个由Apache软件基金会开发的Java库和命令行工具,其主要任务是驱动构建过程。它的核心概念是构建文件(build...

    Ant+Svn打包Web工程

    本主题将深入探讨如何结合Apache Ant和Subversion(Svn)来打包Web工程,这是一个常见的开发实践,尤其对于Java Web项目而言。首先,让我们理解这两个工具的核心概念。 **Apache Ant** 是一个Java库和命令行工具,...

    Ant远程部署tomcat脚本

    本文将详细介绍如何使用Ant脚本来实现远程部署到Tomcat服务器。 首先,Ant脚本的基础结构是XML格式,如以下示例所示: ```xml &lt;project name="kit.web" default="war" basedir="."&gt; ... ``` 在`&lt;project&gt;`标签...

    Ant实例 web工程部署

    14. **打包和部署**:通过`&lt;jar&gt;`任务打包Java应用,使用`&lt;war&gt;`任务打包Web应用,并结合`&lt;ftp&gt;`或`&lt;scp&gt;`任务实现远程部署。 15. **持续集成**:将Ant构建文件与持续集成工具(如Jenkins、Hudson等)结合,实现...

    使用ANT远程发布Web项目

    本文主要介绍如何使用Apache Ant来实现Web项目的自动化打包并远程部署到Tomcat服务器上。 #### 二、准备工作 1. **环境配置** - **Eclipse IDE**:用于编写和构建项目。 - **Apache Ant**:用于自动化构建过程。...

    ant远程上传并部署tomcat

    标题中的“ant远程上传并部署tomcat”是指使用Apache Ant工具执行自动化构建任务,将本地的Web应用(如WAR或EAR文件)传输到远程Linux服务器的Tomcat应用服务器上进行部署,并随后重启Tomcat服务以使更改生效。Ant是...

    ant部署远程服务器

    接下来,是远程部署的关键步骤: 1. **配置Tomcat服务器**:确保你已经在远程服务器上安装并配置了Tomcat,且服务器的SSH服务(如OpenSSH)处于运行状态,允许你通过SSH进行文件传输。 2. **创建Ant构建文件**:在...

    java的web项目的war包实现nginx+tomcat+https的快速和安全的配置

    1. Java War 包的生成:通过 IDEA 的 Maven 形式生成 War 包,或者使用 Jenkins 或 Ant 工具进行打包。 2. Nginx 的安装和配置:使用 ./configure 命令来编译 Nginx,添加 --with-http_stub_status_module 和 --...

    使用Ant将java工程打包成bat可执行性文件

    本文将深入探讨如何使用Ant将Java工程打包成bat可执行文件,并结合提供的`antBatTest`压缩包中的示例进行说明。 首先,我们需要了解Ant的基本概念。Ant是一个基于XML的构建工具,它的主要任务是编译、测试、打包和...

Global site tag (gtag.js) - Google Analytics