`
阳光小菜鸟
  • 浏览: 96881 次
  • 性别: Icon_minigender_2
  • 来自: 郑州
社区版块
存档分类
最新评论

Ant简单示例

阅读更多
最近部门在做各种技术的预研,学习了不少知识,记录下省得忘了。。。
webproject

<?xml version="1.0" encoding="UTF-8"?>

<project name="project" basedir="." default="run">
	<!-- 环境参数 -->
	<property name="build.home" value="build" /><!-- 正式包编译后目录 -->
	<property name="web.root" value="WebRoot" /><!-- 资源文件目录 -->
	<property name="src.home" value="${basedir}/src" /><!-- 类源文件目录 -->
	<property name="build.javadocs" value="docs" /><!-- docAPI目录 -->
	<!-- 项目名 -->
    <property name="projectname" value="project" /> 
    <property name="version" value="1.0" /> <!-- 版本号 -->
    <property name="year" value="2009" />  <!-- 创建时间 -->
    <!-- 本地上传路径 -->
    <property name="localpath" value="c:/test/" />
    <!-- 远端服务器IP -->
    <property name="serverip" value="192.168.151.242" /> 
    <property name="servername" value="root" /> <!-- 远端服务器用户 -->
    <property name="serverpwd" value="redroot" /><!-- 远端服务器密码 -->
    <property name="serverpath" value="/home/test/" /><!-- 远端服务器上传路径 -->
    
	<!-- 正式发布包欢迎消息 -->
    <echo message="----------- ${projectname} ${version} [${year}] ------------" /> 
	<target name="echo"> 
	   <echo message="${projectname} Build file" /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message=" available targets are:" /> 
	   <echo message="" /> 
	   <echo message=" build --> compiles the source code" /> 
	   <echo message=" javadoc --> generates the API documentation" /> 
	   <echo message=" clean --> cleans up the directory" /> 
	   <echo message=" 业务系统正式发布包"/> 	
	   <echo message="" /> 
	   <echo message=" Please rename build.properties.default to build.properties" /> 
	   <echo message=" and edit build.properties to specify JSDK 2.3 classpath." /> 
	   <echo message="" /> 
	   <echo message=" See the comments inside the build.xml file for more details." /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message="" /> 
	</target>
	<!-- 测试发布包欢迎消息 -->
	<target name="testecho"> 
	   <echo message="${projectname} Build file" /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message=" available targets are:" /> 
	   <echo message="" /> 
	   <echo message=" build --> compiles the source code" /> 
	   <echo message=" javadoc --> generates the API documentation" /> 
	   <echo message=" clean --> cleans up the directory" /> 
	   <echo message=" 业务系统测试发布包"/> 	
	   <echo message="" /> 
	   <echo message=" Please rename build.properties.default to build.properties" /> 
	   <echo message=" and edit build.properties to specify JSDK 2.3 classpath." /> 
	   <echo message="" /> 
	   <echo message=" See the comments inside the build.xml file for more details." /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message="" /> 
	</target> 
 	<!-- 依赖包 -->
	<path id="web.lib">
		<fileset dir="${web.root}/WEB-INF/lib">
			<include name="*.jar" />
		</fileset>
	</path>
	<!-- 生成API -->
	<target name="javadoc"> 
	   <mkdir dir="${build.javadocs}" /> 
	   <javadoc packagenames="" sourcepath="${src.home}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${projectname} API" doctitle="${projectname}">
	   		<classpath refid="web.lib" />
	   	</javadoc>
		<echo>java doc 制作完毕</echo>
	</target> 

	<!-- 清除目录,上次编译文件,创建新目录结构-->
	<target name="clean">
		<echo message="初始化目录" />
		<delete dir="${build.home}" />
		<mkdir dir="${build.home}" />
	</target>

	<!--编译-->
	<target name="build">
		<echo message="编译目录${src.home}" />
		<javac srcdir="${src.home}"  destdir="${web.root}/WEB-INF/classes" debug="true" source="1.5" debuglevel="source,lines,vars" encoding="utf-8">
			<classpath refid="web.lib" />
		</javac>
		<copy todir="${web.root}/WEB-INF/classes/">
					<fileset dir="${src.home}" includes="*.property" />
					<fileset dir="${src.home}" includes="*.xml" />
		</copy>
	</target>
	<!-- 打正式发布war包 -->
	<target name="createPackage">
		<jar basedir="${build.home}" destfile="${build.home}/${projectname}.war">
				<fileset dir="${web.root}" includes="**" />
		</jar>
	</target>
	<!-- 发布目录到本地服务器 -->
	<target name="upMenuTolocal">
	<input message ="请确定是否copy${projectname}目录结构到${localpath}" 
            validargs ="y,n"  addproperty ="do.coverage"  defaultvalue ="n"/> 
         <condition  property ="do.abort"> 
             <equals  arg1 ="n"  arg2 ="${do.coverage}"/> 
         </condition> 
         <fail if ="do.abort">退出</fail> 
		<copy todir="${localpath}">
			<fileset dir="${web.root}" includes="**" />
		</copy>
		<echo message="copy完毕" /> 
	</target>
	<!-- 发布war到本地服务器 -->
	<target name="upWarTolocal" depends="createPackage">
		<input message ="请确定是否copy${projectname}正式包到${localpath}" 
            validargs ="y,n"  addproperty ="do.coverage"  defaultvalue ="n"/> 
         <condition  property ="do.abort"> 
             <equals  arg1 ="n"  arg2 ="${do.coverage}"/> 
         </condition> 
         <fail if ="do.abort">退出</fail> 
		<copy todir="${localpath}">
			<fileset dir="${build.home}" includes="${projectname}.war" />
		</copy>
		<echo message="copy完毕" /> 
	</target>
	<!-- 发布目录到远程服务器 -->
	<target name="upMenuToServer">
		<input message ="请确定是否上传${projectname}目录结构到${serverip}${serverpath}" 
            validargs ="y,n"  addproperty ="do.coverage"  defaultvalue ="n"/> 
         <condition  property ="do.abort"> 
             <equals  arg1 ="n"  arg2 ="${do.coverage}"/> 
         </condition> 
         <fail if ="do.abort">退出</fail> 
		<sshexec host="${serverip}" username="${servername}"  password="${serverpwd}"
         	trust="true" command="cd ${serverpath};ls" verbose ="true"/>
		<scp todir="${servername}@${serverip}:${serverpath}" password="${serverpwd}" trust="true" verbose ="true">
			   <fileset dir="${web.root}">
			      <include name="**" />
			   </fileset>
		</scp>
         	<echo message="上传完毕" /> 
	</target>
	<!-- 发布war到远程服务器 -->
	<target name="upWarToServer" depends="createPackage">
	<input message ="请确定是否上传${projectname}正式包到${serverip}${serverpath}" 
            validargs ="y,n"  addproperty ="do.coverage"  defaultvalue ="n"/> 
         <condition  property ="do.abort"> 
             <equals  arg1 ="n"  arg2 ="${do.coverage}"/> 
         </condition> 
         <fail if ="do.abort">退出</fail> 
        <scp file="${build.home}/${projectname}.war" todir="${servername}@${serverip}:${serverpath}" password="${serverpwd}" trust="true" verbose ="true"/>
        		<sshexec host="${serverip}" username="${servername}"  password="${serverpwd}"
         trust="true" command="cd ${serverpath};ls"/>
         <echo message="上传完毕" />
	</target>
	<!-- 正常编译打包 -->
	<target name="run" depends="clean,echo,build,createPackage,javadoc"/>
	<!-- 发布本地测试目录 -->
	<target name="menulocal" depends="clean,testecho,build,upMenuTolocal" />
	<!-- 发布本地测试包 -->
	<target name="warlocal" depends="clean,echo,build,upWarTolocal,javadoc" />
	<!-- 发布服务器测试目录 -->
	<target name="menuserver" depends="clean,testecho,build,upMenuToServer" />
	<!-- 发布服务器测试包 -->
	<target name="warserver" depends="clean,echo,build,upWarToServer,javadoc" />
</project>



jarproject

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" basedir="." default="run">
	<!-- 环境参数 -->
	<property name="build.home" value="build" /><!-- 编译后目录 -->
	<property name="src.home" value="${basedir}/src" /><!-- 类源文件目录 -->
	<property name="class.home" value="${basedir}/bin" /><!-- 类文件目录 -->
	<property name="lib.home" value="lib" /><!-- jar文件目录 -->
	<property name="build.javadocs" value="docs" /><!-- docAPI目录 -->
	<!-- 项目名 -->
    <property name="projectname" value="project" /> 
    <property name="version" value="1.0" /> <!-- 版本号 -->
    <property name="year" value="2009" />  <!-- 创建时间 -->
	<property name="mainclass" value="com.zzvcom.test.Test" /> <!-- 主函数 -->
	
 
    
	<!-- 正式发布包欢迎消息 -->
    <echo message="----------- ${projectname} ${version} [${year}] ------------" /> 
	<target name="echo"> 
	   <echo message="${projectname} Build file" /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message=" available targets are:" /> 
	   <echo message="" /> 
	   <echo message=" build --> compiles the source code" /> 
	   <echo message=" javadoc --> generates the API documentation" /> 
	   <echo message=" clean --> cleans up the directory" /> 
	   <echo message=" 业务系统正式发布包"/> 	
	   <echo message="" /> 
	   <echo message=" Please rename build.properties.default to build.properties" /> 
	   <echo message=" and edit build.properties to specify JSDK 2.3 classpath." /> 
	   <echo message="" /> 
	   <echo message=" See the comments inside the build.xml file for more details." /> 
	   <echo message="-------------------------------------------------------------" /> 
	   <echo message="" /> 
	   <echo message="" /> 
	</target>
	 
 	<!-- 依赖包 -->
	<path id="web.lib">
		<fileset dir="${lib.home}">
			<include name="*.jar" />
		</fileset>
	</path>
	<!-- 生成API -->
	<target name="javadoc"> 
	   <mkdir dir="${build.javadocs}" /> 
	   <javadoc packagenames="" sourcepath="${src.home}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${projectname} API" doctitle="${projectname}">
	   		<classpath refid="web.lib" />
		</javadoc>
		<echo>java doc 制作完毕</echo>
	</target> 

	<!-- 清除目录,上次编译文件,创建新目录结构-->
	<target name="clean">
		<echo message="初始化目录" />
		<delete dir="${build.home}" />
		<delete dir="${class.home}" />
		<mkdir dir="${build.home}" />
		<mkdir dir="${class.home}" />
		<echo>初始化完毕</echo>
	</target>

	<!--编译-->
	<target name="build">
		<echo message="编译目录${src.home}" />
		<javac srcdir="${src.home}"  destdir="${class.home}" debug="true" source="1.5" debuglevel="source,lines,vars" encoding="utf-8">
			<classpath refid="web.lib" />
		</javac>
		<copy todir="${class.home}">
							<fileset dir="${src.home}" includes="*.property" />
							<fileset dir="${src.home}" includes="*.xml" />
		</copy>
		<echo>编译完毕</echo>
	</target>
	<!-- 打正式发布jar包 -->
	<target name="createPackage">
		<jar basedir="${build.home}" destfile="${build.home}/${projectname}.jar">
				<fileset dir="${class.home}" includes="**" />
			<manifest>
				<attribute name="Main-Class" value="${mainclass}" />
			</manifest>
		</jar>
		<echo>打包完毕</echo>
	</target>
 
	<!-- 发布 -->
	<target name="run" depends="clean,echo,build,createPackage,javadoc" />
 
</project>
分享到:
评论

相关推荐

    struts和ant简单示例

    总的来说,"struts和ant简单示例"是一个帮助新手入门的宝贵资源,涵盖了Java Web开发中的重要技术。通过实践这个示例,你可以深入理解Struts框架的工作原理,掌握Ant的使用方法,为后续的Java Web开发打下坚实的基础...

    ant个人学习笔记和简单示例

    这个压缩包“ant”可能包含了一些关于Ant的基本概念、命令使用和简单示例的资料,非常适合初学者进行个人学习。 Ant的核心概念是构建文件(build file),通常命名为“build.xml”,它使用XML格式来定义构建任务。...

    ant部署示例代码

    在"06_hello"这个子文件中,可能包含了一个简单的Java项目,例如一个名为`HelloWorld`的程序,用于演示Ant如何编译和运行这个程序。这个程序可能只有一个`HelloWorld.java`源文件,里面包含了一个经典的`main`方法,...

    Ant学习示例

    【Ant学习示例】 Ant是Apache软件基金会Jakarta项目下的一个构建工具,它以其XML格式的构建文件(build.xml)而闻名,用于自动化Java项目的构建、编译、测试和部署等任务。Ant的设计理念是简单易用,同时具有高度可...

    ant junit emma 示例工程。

    在Java开发过程中,测试是确保代码质量和可靠性的重要环节。...这个"ant_junit_emma"示例工程就是一个很好的学习资源,可以帮助开发者理解如何将这三个工具集成到实际项目中,提升测试质量和效率。

    自定义AntTask简单实例

    下面是一个名为`HelloWorldTask`的简单示例: ```java import org.apache.tools.ant.Task; public class HelloWorldTask extends Task { public void execute() { System.out.println("Hello, World from custom...

    ant入门编写例子,非常简单实效哦

    "antTest"作为压缩包中的文件名,可能包含了一个简单的Ant构建示例项目。这个项目可能有一个名为"antTest"的源代码目录,里面包含Java源文件,以及一个build.xml文件,该文件定义了编译、测试和打包等构建任务。通过...

    Ant入门学习 本内容包含了Ant的历史简要介绍,Ant的功能以及Ant框架的介绍,并对下载安装使用Ant进行了示例介绍,同时通过一个Java程序讲解了Ant的基本使用方法。

    例如,以下是一个简单的Ant构建文件的示例: ```xml *"/&gt; ,doc"&gt; ``` 在这个例子中,`init`目标创建了必要的目录,`compile`目标编译源代码,`doc`目标生成Java文档,而`deploy`...

    HelloWorld Ant

    在这个示例中,我们将深入理解Ant的基本概念、安装步骤、配置文件以及如何运行一个简单的“Hello World”任务。 首先,Ant的核心是它的构建文件,通常命名为`build.xml`。这个文件包含了所有构建任务的描述,包括...

    ANT打包命令详解api指令

    在实际使用中,ANT可以通过`java`任务执行Java类,如示例1.1中的`run`目标所示,这使得在构建过程中运行测试或者启动应用程序变得简单。此外,`classpath`属性用于设置类路径,确保运行时能找到依赖的类。 ANT的...

    Ant 资源 Ant 资源

    接下来,我们将通过一个简单的“Hello World”示例来体验Ant的基本用法。 1. **编写Java源代码**:创建名为`HelloWorld.java`的Java文件,包含如下代码: ```java package test.ant; public class HelloWorld...

    ant打zip包简单demo

    以下是一个简单的`build.xml`示例,演示了如何使用Ant创建ZIP文件: ```xml &lt;!-- 定义属性 --&gt; &lt;!-- 删除已有的构建目录 --&gt; ${build.dir}"/&gt; ${dist.dir}"/&gt; &lt;!-- 编译源代码 --&gt; ${build....

    Ant的下载安装和简单地使用

    下面通过一个简单的示例来演示如何使用Ant。 ##### 构建文件示例 ```xml &lt;!-- 描述 --&gt; simple example build file &lt;!-- 设置全局属性 --&gt; &lt;!-- 初始化目标 --&gt; &lt;!-- 创建时间戳 --&gt; &lt;!-- ...

    ant_1.2.6 ant_1.2.6.zip

    Ant是Apache软件基金会的一个开放源代码项目,是一个Java构建工具,它使得构建、部署和管理Java项目变得更加简单。Ant以其XML格式的构建文件而闻名,这些文件定义了构建过程中的任务序列,允许开发者以声明性的方式...

    AntDesign最简单的动态换肤方案

    标题 "AntDesign最简单的动态换肤方案" 指向的是使用Ant Design框架实现应用程序的动态主题切换功能。Ant Design是阿里巴巴开源的一款基于React的UI组件库,它提供了丰富的界面设计元素和良好的交互体验,广泛应用于...

    clover-ant-2.4.2 版本安装包

    Clover Ant是Atlassian公司开发的一款代码覆盖率工具,它与Apache Ant构建系统紧密集成,用于在Java项目中测量和报告代码测试覆盖率。...通过集成到Ant构建流程中,它使得代码覆盖率的监控变得简单而高效。

    ANT初步运行例子,ANT学习

    在提供的文件列表中,"helloworld"可能是一个简单的Ant示例项目,通常会包含一个build.xml文件,用于演示如何配置和运行Ant任务。 1. **Ant构建文件(build.xml)**: 这是Ant的核心,它定义了构建过程的各个目标和...

    Apache Ant入门教程

    Apache Ant 是一个基于 Java 的构建工具,由 James Duncan Davidson 创建,其名称源于“another neat tool”...通过实践教程中的示例,您将能够更好地理解和应用 Ant 的各种功能,从而提升您的开发效率和项目管理能力。

    apache-ant-1.9.9.zip

    在描述中提到的"使用非常简单",意味着这个压缩包可能包含了一个基本的build.xml示例,用户只需要根据自己的项目需求进行适当的修改,即可快速地进行项目构建。 在"标签"中提到了"ant",这是对Apache Ant的直接指代...

Global site tag (gtag.js) - Google Analytics