`

ant实例

 
阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<project name="Nightingale" default="" basedir=".">
	<target name="init">
		<echo message="初始化打 war包需要的路径变量"/>
		<!--获取系统时间-->
		<tstamp>
			<format property="sys.time" pattern="yyyy-MM-dd_HH-mm-ss"></format>
		</tstamp>
		<!--读取build.properies文件-->
		<property file="${basedir}/build.properties"/>
		<!--配置java编译环境 -->
		<path id="Nightingale.compile.classpath">
			<fileset dir="${weblib.dir}">
				<include name="**/*.jar" />
			</fileset>
			<fileset dir="${builder.basedir.j2ee}">
				<include name="**/*.jar" />
			</fileset>
		</path>
		<!--判断conf文件夹下面是否有文件-->
		<available file="${publish.conf}" property="keyfile.exist" />
	</target>
	
	<!--删除publish文件夹,并删除war包 -->
	<target name="clean" depends= "init">
		<echo message="清空源文件"/>
		<delete dir="${publish.dir}" />
		<delete><fileset dir="${builder.basedir}" includes="**/*.war"/></delete>
	</target>
	
	<!--创建publish文件夹 -->
	<target name="prepare" depends= "clean">
		<echo message="创建文件夹"/>
		<mkdir dir="${publish.dir}"/>
	</target>
	
	<!-- 拷贝功能目录下的webRoot文件到publish中,并编译java文件 -->
	<target name="build-copy" depends="prepare">
		<echo message="拷贝 webRoot文件到编译后的路径下"/>
		<copy todir="${publish.dir}">
			<fileset dir="${webapp.dir}"/>
		</copy>
		<echo message="编译 java 文件,拷贝 属性配置文件到编译后的路径下"/>
		<javac destdir="${publish.classes}">
			<src path="${java.src.dir}" />
			<classpath refid="Nightingale.compile.classpath" />
		</javac>
	</target>
	
	<!-- 拷贝conf目录下的文件到publish中-->
	<target name="conf.exist" if="${keyfile.exist}">
		<echo message="拷贝conf文件目录下的文件到工程conf目录下--${publish.conf}"/>
		<copy todir="${publish.web.conf}" overwrite = "true" verbose="true">
			<fileset dir="${publish.conf}"/>
		</copy>
	</target>
	<target name="conf.unexist" unless="${keyfile.exist}">
		<echo message="${publish.conf}文件夹下不存在文件"/>
	</target>
	
	<!--把publish中的文件打包成war文件 -->
	<target name="publish-war" depends="build-copy,conf.exist,conf.unexist">
		<echo message="打 war 包,不将 java 文件打入包内"/>
		<war warfile="${war.file}" webxml="${publish.web}">
			<fileset dir="${publish.dir}" />
		</war>
	</target>
	
	<!-- 把war包,拷贝到服务器上 -->
	<target name="publish-remote">
		<antcall target="publish-war" />
		<echo>发送文件 ${war.file} 到服务器上...</echo>
		<scp file="${war.file}" todir="${publish.remote.username}:${publish.remote.password}@${publish.remote.host}:${publish.remote.apphome}"  passphrase="" verbose="true" trust="true"/>
	</target>
</project>



java.src.dir = ${basedir}/src
webapp.dir = ${basedir}/WebRoot
weblib.dir = ${webapp.dir}/WEB-INF/lib/
builder.basedir = ${basedir}/build
builder.basedir.j2ee = ${builder.basedir}/lib/

<!-- Directory structure of the project -->
publish.dir = ${builder.basedir}/publish
publish.web = ${publish.dir}/WEB-INF/web.xml
publish.classes = ${publish.dir}/WEB-INF/classes
publish.web.conf = ${publish.classes}/conf
publish.conf = ${builder.basedir}/conf
war.file = ${builder.basedir}/Nightingale_${sys.time}.war
分享到:
评论

相关推荐

    Apache Ant 实例介绍

    三、Apache Ant实例介绍 1. 创建build.xml:首先,我们需要创建一个名为build.xml的文件,包含如下内容: ```xml &lt;project name="antDemo" default="compile" basedir="."&gt; ${build.dir}/classes"/&gt; ${...

    Ant实例 web工程部署

    【Ant实例 web工程部署】与【Ant】标签相关的知识点: Ant是一个开源的Java构建工具,它简化了构建和部署Java应用程序的过程。在Ant出现之前,Java应用的构建通常依赖于平台特定的脚本、Makefile、多种IDE以及手动...

    【Ant】Ant实例(1)一个Java文件依赖于某jar包,需要打包部署

    【Ant】Ant实例(1)一个Java文件依赖于某jar包,需要打包部署 在Java开发过程中,构建和部署是必不可少的环节。Apache Ant是一个广泛使用的自动化构建工具,它允许开发者编写XML配置文件来定义构建任务,如编译源...

    ant实例和资料

    Ant是Apache软件基金会的一个开放源代码项目,它是一款强大的构建工具,主要被Java开发者用于管理项目的构建、编译、测试和部署过程。Ant基于XML,它的核心理念是通过任务(tasks)来执行各种构建任务,这些任务可以...

    Ant 实例教程(Hello World)

    本教程将引导你了解如何使用Ant完成"Hello World"实例。 首先,确保你已经安装了Ant。如果没有,可以从Apache官方网站下载并按照指南进行安装。安装完成后,可以在命令行中通过`ant -version`来检查Ant是否已正确...

    10_ant_基于j2se的综合实战项目_01

    《10_ant_基于j2se的综合实战项目_01》这个资源主要围绕着Apache Ant工具在Java Standard Edition(J2SE)环境中的实际应用展开。Ant是Java开发中的一个构建工具,它以XML为基础,用于自动化构建、测试和部署Java...

    ant+junit程序小实例(绝对可以运行)

    在这个"ant+junit程序小实例"中,我们可以预期包含以下内容: 1. `build.xml` 文件:这是Ant的构建文件,其中会定义如何编译项目、运行JUnit测试并处理结果。它可能包含了`&lt;project&gt;`、`&lt;target&gt;`、`&lt;property&gt;`、`...

    Ant集合Xdoclet 实例教程(之整合 Spring)

    本教程的压缩包文件"Ant 实例教程(之整合Spring)"包含了实际操作的示例代码和详细步骤,可以帮助你更好地理解和实践这个过程。建议下载后跟随教程逐步操作,以加深对Ant、Xdoclet和Spring整合的理解。同时,记得在...

    ant实例教程

    Ant是Apache软件基金会下的一个Java构建工具,它以其XML为基础的构建文件格式,为Java项目提供了灵活、可扩展的构建过程管理。Ant以其简单易用和跨平台的特性,成为了许多开发者进行自动化构建的首选工具。本教程将...

    ant入门小实例练习

    在“ant入门小实例练习”中,我们可以探索Ant的基本用法和核心概念。首先,你需要了解Ant的配置文件`build.xml`,这是整个构建过程的蓝图,定义了一系列的构建目标和任务。每个目标是由一系列的任务(tasks)组成的...

    ant基础教程集合

    三、Ant实例与使用 1. **编译Java项目**:使用`javac`任务编译源码,并将结果放在指定目录。 ```xml ``` 2. **打包JAR**:使用`jar`任务创建JAR文件。 ```xml ``` 3. **清理构建**:`...

    Ant打包实例

    在本篇内容中,我们将深入探讨如何使用Ant进行项目打包的实例。 首先,让我们理解Ant的基本结构。一个典型的Ant构建文件`build.xml`分为几个主要部分:初始化、编译、测试、打包和部署等目标。这些目标由任务...

    java Ant入门教程

    #### 五、Ant 实例解析 以下是一个简单的 Ant 构建文件示例: ```xml *"/&gt; ,doc"&gt; ``` 这个构建文件定义了四个 Target:`init`、`compile`、`doc` 和 `deploy`。其中 `init` ...

    ejb3+ant开发实例

    在工作之余整理出了基于ejb3的简单企业级开发demo,本实例采用了两个项目来实现(一个客户端和一个服务器端),并且采用ant进行打包、部署,默认采用oracle11g数据库 客户端可以安装到任何java web服务器中(例如...

    自定义AntTask简单实例

    本教程将通过一个简单的实例,讲解如何创建和使用自定义Ant Task。 首先,理解Ant Task的基本结构。一个自定义Task通常继承自`org.apache.tools.ant.Task`类,并重写`execute()`方法,这是Task执行时调用的核心方法...

    ant实用实例 详细解析ant的用法

    ### ant实用实例 详细解析ant的用法 #### 一、Ant简介与基本概念 Apache Ant 是一个Java环境下的开源项目构建工具,主要用于自动化构建、部署等任务。它使用XML来描述构建过程,并且提供了丰富的任务(task)集合,...

    项目Ant配置实例一次下载各处使用

    首先,我们来看标题“项目Ant配置实例一次下载各处使用”。这表明我们将学习如何创建一个可复用的Ant构建脚本,该脚本可以在不同的项目或环境中稍作调整后立即使用。Ant的配置主要体现在它的构建文件`build.xml`中,...

    ant简介及实例pdf

    在这个“ant简介及实例pdf”中,我们将会探讨Ant的基本概念、安装步骤以及一个实际应用的示例。 首先,让我们了解一下Ant的基本概念。Ant是一个基于任务驱动的构建工具,它的核心是构建文件(通常命名为build.xml)...

    ant使用实例(TXT )

    根据提供的文件信息,我们可以总结出以下关于Apache Ant的使用实例及关键知识点: ### Apache Ant简介 Apache Ant是一款Java平台下的构建工具,它使用XML来定义构建过程,支持跨平台使用。Ant通过简单的任务(task)...

Global site tag (gtag.js) - Google Analytics