最近部门在做各种技术的预研,学习了不少知识,记录下省得忘了。。。
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简单示例"是一个帮助新手入门的宝贵资源,涵盖了Java Web开发中的重要技术。通过实践这个示例,你可以深入理解Struts框架的工作原理,掌握Ant的使用方法,为后续的Java Web开发打下坚实的基础...
这个压缩包“ant”可能包含了一些关于Ant的基本概念、命令使用和简单示例的资料,非常适合初学者进行个人学习。 Ant的核心概念是构建文件(build file),通常命名为“build.xml”,它使用XML格式来定义构建任务。...
在"06_hello"这个子文件中,可能包含了一个简单的Java项目,例如一个名为`HelloWorld`的程序,用于演示Ant如何编译和运行这个程序。这个程序可能只有一个`HelloWorld.java`源文件,里面包含了一个经典的`main`方法,...
【Ant学习示例】 Ant是Apache软件基金会Jakarta项目下的一个构建工具,它以其XML格式的构建文件(build.xml)而闻名,用于自动化Java项目的构建、编译、测试和部署等任务。Ant的设计理念是简单易用,同时具有高度可...
在Java开发过程中,测试是确保代码质量和可靠性的重要环节。...这个"ant_junit_emma"示例工程就是一个很好的学习资源,可以帮助开发者理解如何将这三个工具集成到实际项目中,提升测试质量和效率。
下面是一个名为`HelloWorldTask`的简单示例: ```java import org.apache.tools.ant.Task; public class HelloWorldTask extends Task { public void execute() { System.out.println("Hello, World from custom...
"antTest"作为压缩包中的文件名,可能包含了一个简单的Ant构建示例项目。这个项目可能有一个名为"antTest"的源代码目录,里面包含Java源文件,以及一个build.xml文件,该文件定义了编译、测试和打包等构建任务。通过...
例如,以下是一个简单的Ant构建文件的示例: ```xml *"/> ,doc"> ``` 在这个例子中,`init`目标创建了必要的目录,`compile`目标编译源代码,`doc`目标生成Java文档,而`deploy`...
在这个示例中,我们将深入理解Ant的基本概念、安装步骤、配置文件以及如何运行一个简单的“Hello World”任务。 首先,Ant的核心是它的构建文件,通常命名为`build.xml`。这个文件包含了所有构建任务的描述,包括...
在实际使用中,ANT可以通过`java`任务执行Java类,如示例1.1中的`run`目标所示,这使得在构建过程中运行测试或者启动应用程序变得简单。此外,`classpath`属性用于设置类路径,确保运行时能找到依赖的类。 ANT的...
接下来,我们将通过一个简单的“Hello World”示例来体验Ant的基本用法。 1. **编写Java源代码**:创建名为`HelloWorld.java`的Java文件,包含如下代码: ```java package test.ant; public class HelloWorld...
以下是一个简单的`build.xml`示例,演示了如何使用Ant创建ZIP文件: ```xml <!-- 定义属性 --> <!-- 删除已有的构建目录 --> ${build.dir}"/> ${dist.dir}"/> <!-- 编译源代码 --> ${build....
下面通过一个简单的示例来演示如何使用Ant。 ##### 构建文件示例 ```xml <!-- 描述 --> simple example build file <!-- 设置全局属性 --> <!-- 初始化目标 --> <!-- 创建时间戳 --> <!-- ...
Ant是Apache软件基金会的一个开放源代码项目,是一个Java构建工具,它使得构建、部署和管理Java项目变得更加简单。Ant以其XML格式的构建文件而闻名,这些文件定义了构建过程中的任务序列,允许开发者以声明性的方式...
标题 "AntDesign最简单的动态换肤方案" 指向的是使用Ant Design框架实现应用程序的动态主题切换功能。Ant Design是阿里巴巴开源的一款基于React的UI组件库,它提供了丰富的界面设计元素和良好的交互体验,广泛应用于...
Clover Ant是Atlassian公司开发的一款代码覆盖率工具,它与Apache Ant构建系统紧密集成,用于在Java项目中测量和报告代码测试覆盖率。...通过集成到Ant构建流程中,它使得代码覆盖率的监控变得简单而高效。
#### 五、Ant的命令行输出示例 运行构建任务时,Ant会在命令行输出详细的构建日志,如下所示: ``` Buildfile: build.xml init: [mkdir] Created dir: E:\tutorials\ant\example\build [mkdir] Created dir: E:\...
在提供的文件列表中,"helloworld"可能是一个简单的Ant示例项目,通常会包含一个build.xml文件,用于演示如何配置和运行Ant任务。 1. **Ant构建文件(build.xml)**: 这是Ant的核心,它定义了构建过程的各个目标和...
Apache Ant 是一个基于 Java 的构建工具,由 James Duncan Davidson 创建,其名称源于“another neat tool”...通过实践教程中的示例,您将能够更好地理解和应用 Ant 的各种功能,从而提升您的开发效率和项目管理能力。