`

Ant 构建 打包 发布

阅读更多
Ant
一.简介
Ant,构建,打包,编译自动化工具。
二.下载地址三.例子

图1.1 项目架构

#project name
app.NAME=OWNUSESYSTEM
app.name=OwnUseSystem

#tomcat home
tomcat.dir=D:/software/apache-tomcat-7.0.29-windows-x64/apache-tomcat-7.0.29

#compile path
build.dir=build
build.classes.dir=${build.dir}/classes

#source code path
source.dir=src
#config path
resource.dir=config
#output file
log.file=D:/ming.txt
#java path
java.lib.dir=C:/Program Files (x86)/Java/jdk1.6.0_13/jre/lib
#WebContent path
WebContent.dir=WebContent
WebContent.WebInf.dir=${WebContent.dir}/WEB-INF
WebContent.DB.dir=${WebContent.dir}/DB
WebContent.WebInf.classes.dir=${WebContent.WebInf.dir}/classes
WebContent.WebInf.lib.dir=${WebContent.WebInf.dir}/lib

#dist 
dist.dir=ming
dist.db.dir=${dist.dir}/db

#sqlserver configuration 
sqlserver.dbname=owern
sqlserver.username=sa
sqlserver.password=123

<?xml version="1.0" encoding="utf-8" ?>
<project name ="OwnUseSystem" default ="run" basedir ="."><!--默认调用run-->
    <property file="build.properties"></property><!--引入文件用来 配置路径-->
	<path id="compile_path"><!--定义环境变量-->
		   <fileset dir="${WebContent.WebInf.lib.dir}">
		       <include name="**/*.jar"/>
		   </fileset>
		   <fileset dir="${tomcat.dir}/lib">
		       <include name="servlet-api.jar"/>
		   </fileset>
		   <pathelement path="${build.classes.dir}" />
	</path>
	<target name="create" depends="clean"><!--创建文件目录-->
		<echo message="create ming build "></echo>
		<mkdir dir="${build.dir}"/><!--创建编译文件夹-->
		<mkdir dir="${build.classes.dir}"/><!--创建编译文件夹 classes-->
		<mkdir dir="${dist.dir}"/><!--create ming-->
		<mkdir dir="${dist.db.dir}"/><!--创建ming文件夹 db-->
		<mkdir dir="${WebContent.WebInf.classes.dir}"/><!--创建webinf classes-->
	</target>
	<target name="copyConfig" depends="create">
		<copy todir="${build.classes.dir}">
			<fileset dir="${resource.dir}" >
			    <include name="**/*.properties" />
			    <include name="**/*.xml" />
			    <!--<exclude name="applicationContext.xml" />-->
			 </fileset>
		</copy>
		<copy todir="${dist.db.dir}">
			<fileset dir="${resource.dir}">
			    <include name="init.sql"/>
			</fileset>
	    </copy>
		<!-- execute the sql script -->
		<sql 
		            driver="com.mysql.jdbc.Driver"
		            url="jdbc:sqlserver://localhost/${sqlserver.dbname}" 
		            userid="${sqlserver.username}"
		            password="${sqlserver.password}"
		            src="${dist.db.dir}/init.sql"
		            classpathref="compile.classpath">
		</sql>
	</target>
	<target name="compile" depends="copyConfig">
		<javac srcdir="${source.dir}" destdir="${build.classes.dir}"     classpathref="compile_path">
		     <compilerarg line="-encoding UTF-8 "/> 
		 </javac>
		 <copy todir="${build.classes.dir}">
			  <fileset dir="${source.dir}">
			    <include name="**/*.hbm.xml"/>
			  </fileset>
		 </copy>
		 <copy todir="${WebContent.WebInf.classes.dir}">
		             <fileset dir="${build.classes.dir}">
		             </fileset>
		 </copy>
	</target>
	<target name="war" depends="compile"><!--打war包-->
		 <war warfile="${dist.dir}/${app.name}.war" webxml="${WebContent.WebInf.dir}/web.xml">
		    <fileset dir="${WebContent.dir}"></fileset>
		 </war>
	</target>
	<target name="deploy" depends="war">
		<echo message="deploy the project to a web server" />
		<copy todir="${tomcat.dir}/webapps">
		      <fileset file="${dist.dir}/${app.name}.war"></fileset>
		</copy>
	</target>
    <target name="run" depends="deploy"><!--启动tomcat-->
    	<echo message="start tomcat" />
    	 <exec executable="cmd" dir="${tomcat.dir}/bin"  failonerror="false"   
    	                    output="${log.file}" append="true" >  
    	             <!-- <arg value="/c" /> -->    
    	             <env key="CATALINA_HOME" path="${tomcat.dir}"/>  
    	             <arg value="/c startup.bat" />     
    	 </exec>  
    </target>
    <target name="clean"><!--清除构建目录-->
    	<echo message="basedir is ${basedir}"></echo>
        <delete dir="${dist.dir}"></delete><!--清除目标路径-->
    	<delete dir="${WebContent.WebInf.classes.dir}"></delete>
        <!--清除webcontent class路径-->
    	<delete dir="${build.dir}"></delete><!--清除编译路径-->
    	<delete file="${tomcat.home}/webapps/${app.name}.war" /><!--删除war包-->
    	<delete dir="${tomcat.home}/webapps/${app.name}" /><!--删除项目-->
    </target>

</project>
  • 大小: 42.1 KB
0
0
分享到:
评论

相关推荐

    java安装程序,利用Ant构建打包工具

    下面将详细阐述如何利用Ant构建打包工具,以及如何创建可视化的Java安装程序。 1. **Java环境基础**:首先,确保你已经安装了Java Development Kit (JDK),因为Ant是用Java编写的,需要JDK运行环境。同时,Java应用...

    ANT构建的一个问题

    标题中的“ANT构建的一个问题”指的是在使用Apache Ant工具进行软件构建时遇到的特定问题。Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它通过XML定义的构建文件来描述构建步骤,使得开发者可以自动...

    ant批量打包工具

    2. **自动化构建**:通过编写XML格式的构建脚本(build.xml),Ant可以自动化处理编译、资源处理、签名、优化和打包等一系列过程。这大大提高了工作效率,减少了人为错误。 3. **灵活的配置**:Ant脚本允许开发者...

    Ant批量打包Android应用

    接下来,我们需要创建一个Ant构建脚本(build.xml)。这个脚本定义了构建过程的各个步骤,包括编译源代码、处理资源、生成APK等。一个简单的build.xml示例如下: ```xml ${sdk.dir}/tools/ant/build.xml" /&gt; ...

    Ant自动打包用的.

    在实际使用中,一个典型的Ant构建脚本可能包含以下部分: 1. **初始化**:设置全局属性,如版本号、源代码路径等。 2. **编译**:使用`javac`任务编译Java源代码到字节码。 3. **资源处理**:拷贝或处理非Java文件...

    ANT批量打包工具及教程

    通过学习和实践这个教程,开发者不仅可以掌握Ant批量打包的基本技巧,还能了解如何解决过程中遇到的问题,从而提高开发效率,尤其在面对多渠道发布时,能够节省大量手动操作的时间。对于大型项目而言,这种自动化...

    mac下ant打包android

    在Android应用开发中,构建和打包过程是必不可少的环节,特别是在多渠道发布时,需要针对不同的市场或平台生成定制的APK。Mac环境下,开发者常使用Ant作为构建工具来完成这个任务。Ant是一个基于Java的构建工具,它...

    使用Ant编译打包

    Ant使用XML来描述构建过程,包括编译、测试、打包和部署等任务,使得开发者能够通过简单的脚本进行项目构建,而无需深入理解复杂的命令行语法。 **一、Ant的安装与配置** 1. **下载与解压**:首先,你需要从Apache...

    ant 构建环境使用

    Ant的核心是build.xml文件,这是一个包含了一系列任务(tasks)的XML文档,这些任务定义了构建过程中的各种操作,如编译源代码、打包JAR文件、运行测试等。 描述中提到"ant-1.9.6.jar"是Ant的特定版本,这个版本...

    ant构建web项目

    ant 自动化构建eclipse web项目, 并且打包发布,启动tomcat和浏览器

    java项目ant打包脚本

    这个脚本会设置必要的环境变量,并调用Java来执行Ant的主类`org.apache.tools.ant.Main`,从而启动Ant构建过程。 4. **`build.xml`文件**: `build.xml`是Ant的主要配置文件,它定义了项目构建的规则和目标。文件...

    ant批量打包脚本

    在Android或Java开发中,"ant批量打包脚本"是一个非常实用的技巧,它可以帮助开发者高效地完成应用的打包工作,尤其在面临多版本、多渠道发布时更为显著。Ant是Apache组织提供的一款开源构建工具,类似于Java领域的...

    ant构建以及基本运用

    《Ant构建及其基本应用》 Ant是Apache软件基金会下的一个项目,它是一个Java构建工具,主要用来自动化构建Java应用程序。Ant以其灵活性和可扩展性在Java开发领域中占据了重要的地位,尤其是在大型项目或者团队协作...

    Android ANT批量打包教程及所有资源文件

    - `build.xml`: 自定义的ANT构建脚本 - `AndroidManifest.xml`: 需要替换渠道号的原始manifest文件 - `res`: 应用的资源文件夹 - `libs`: 第三方库文件夹 - `keystore`: 签名用的密钥库文件 - `build....

    ant打包

    在实际操作中,开发者会根据项目需求配置Ant构建脚本,例如设置源代码路径、输出路径、类路径,以及指定编译时的Java版本等。通过Ant,开发者可以自动化整个软件构建流程,提高开发效率。 标签中的“源码”和“工具...

    使用ant构建android自动化打包实例源码

    - 使用Ant构建Android应用自动化打包可以显著提高开发效率,减少手动操作的错误。 - 熟悉Ant的配置和任务定义是每个Android开发者必备的技能之一。 - 结合"Command4Ant"这样的工具,可以进一步定制化和优化自动化...

    ant打包Web工程

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

    使用ant打包android

    总结,使用Ant打包Android应用涉及到了Java和Android开发的基础知识,包括环境配置、构建脚本、编译过程、资源处理、APK打包和签名。虽然现代的Android项目多采用Gradle,但了解Ant可以帮助开发者更好地理解和控制...

Global site tag (gtag.js) - Google Analytics