Ant编译打包项目
Blog项目对应的文件目录树如下:
blog:.
├─demo —— demo 目录
├─sql —— sql脚本目录
├─src —— Java源文件目录
├─test —— 测试文件目录
└─web —— web存放目录
├─admin
├─common
├─includes
├─scripts
├─system
├─themes
├─UserFiles
└─WEB-INF —— j2ee规范目录
├─classes —— 编译路径
├─config
└─lib —— 类库目录
Ant对应的配置:
<?xml version="1.0"?>
<project name="ntsky_blog" default="war" basedir=".">
<!-- set global properties for this build -->
<property name="product" value="ntsky_blog" />
<property name="version" value="1.0" />
<property name="year" value="2007" />
<property name="author" value="ntsky" />
<echo message="----------- ${product} ${version} [${year}] [${author}] ------------" />
<property name="name" value="ntsky_blog" />
<property name="app.dir" value="." />
<property name="web.dir" value="${app.dir}/web" />
<property name="src.dir" value="${app.dir}/src" />
<property name="lib.dir" value="${web.dir}/WEB-INF/lib" />
<property name="jar.name" value="ntsky_blog.jar" />
<property name="tomcat.home" value="/usr/local/tomcat" />
<property name="war.dir" value="${app.dir}/war" />
<property name="build.dir" value="${web.dir}/WEB-INF/classes" />
<echo message="" />
<echo message="ntsky_blog build file" />
<echo message="------------------------------------------------------" />
<echo message="" />
<echo message="Available targets are:" />
<echo message="" />
<echo message="clean --> Clean output dirs" />
<echo message="build --> Compile main Java sources and copy libraries" />
<echo message="war --> Build the web application archive" />
<echo message="all --> Clean, build, docs, warfile, tests" />
<echo message="" />
<!-- JAVA CLASSPATH -->
<path id="classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
<include name="**/*.zip" />
</fileset>
</path>
<path id="jsp:classpath">
<!-- Tomcat 5.0 -->
<fileset dir="${tomcat.home}/server/lib">
<include name="*.jar" />
</fileset>
<fileset dir="${tomcat.home}/common/lib">
<include name="*.jar" />
</fileset>
<fileset dir="${tomcat.home}/common/bin">
<include name="*.jar" />
</fileset>
<!--
Tomcat 6.0
<fileset dir="${tomcat.home}/lib">
<include name="*.jar" />
</fileset>
<fileset dir="${tomcat.home}/bin">
<include name="*.jar" />
</fileset>
-->
</path>
<target name="clean" description="Clean all build products">
<delete dir="${build.dir}" quiet="true" />
<delete file="${war.dir}/${name}.war" />
</target>
<target name="compile" depends="clean" description="Compile application">
<echo>Compiled the source.</echo>
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" debug="on" encoding="UTF-8">
<include name="**/*.java" />
<classpath refid="classpath" />
</javac>
</target>
<target name="jar" depends="compile">
<jar destfile="${lib.dir}/ntsky_blog.jar" basedir="${build.dir}" includes="**/*.class" >
<fileset dir="${src.dir}">
<include name="**/*.xml" />
<include name="**/*.properties" />
<exclude name="*.properties" />
<exclude name="*.xml" />
</fileset>
</jar>
</target>
<target name="war" depends="compile" description="Build the web application archive">
<delete dir="${build.dir}" quiet="true" />
<copy todir="${build.dir}">
<fileset dir="${src.dir}">
<include name="*.properties" />
<include name="*.xml" />
</fileset>
</copy>
<mkdir dir="${war.dir}" />
<war warfile="${war.dir}/${name}.war" webxml="${web.dir}/WEB-INF/web.xml">
<fileset dir="${web.dir}" />
</war>
</target>
<target name="compile-jsp">
<taskdef classname="org.apache.jasper.JspC" name="jasper">
<classpath refid="jsp:classpath" />
</taskdef>
<mkdir dir="${app.dir}/jspSrc" />
<mkdir dir="${app.dir}/${product}" />
<jasper verbose="0" package="ntsky_blog" outputDir="${app.dir}/jspSrc" uriroot="${app.dir}/WebRoot"/>
<javac srcdir="${app.dir}/jspSrc/ntsky_blog" destdir="${app.dir}" debug="on" encoding="UTF-8">
<include name="**/*.java" />
<exclude name="inc/*.java"/>
<classpath refid="classpath" />
<classpath refid="jsp:classpath" />
</javac>
</target>
<target name="deploy" depends="jar" description="Build the web application archive">
<delete dir="${build.dir}" quiet="true" />
<copy todir="${build.dir}">
<fileset dir="${src.dir}">
<include name="*.properties" />
<include name="*.xml" />
<include name="*.server" />
</fileset>
</copy>
</target>
</project>
说明 :
运行ant -f build.xml war或ant 将生成ntsky_blog.war包,将包丢到tomcat webapps下tomcat就会解包。
ant -f build.xml deploy将执行deploy这个target,将得到blog项目目录,将目录拷贝到tomcat/webapps下也可以运行
发布war包或目录时候都会生成ntsky_blog.jar,jar中包含ibatis对应的xml配置文件,而sturts这类配置文件还是在WEB-INF的classes下。
如果需要可以配置编译jsp的tag(编译jsp省去了tomcat自己编译jsp的步骤,当第一次访问jsp的时候,tomcat自己去编译而感觉速度很慢)
分享到:
相关推荐
随着现代软件开发的复杂性不断增加,构建自动化成为了一种必要,Java项目构建的新型利器——Gradle应运而生。Gradle是基于Java的下一代构建工具,它的出现改变了构建工具的格局,提供了更强的表现力和更好的可维护性...
总结,构建“前端项目笔记——网易云音乐、通用后台管理”涉及到Vue.js框架的应用、前端路由管理、API接口交互、UI组件使用、音乐播放功能的实现以及响应式布局等多个知识点。通过实践这些项目,开发者不仅能巩固...
标题“ant配置文件”指的是Ant项目中的核心文件——build.xml。这个文件是Ant构建过程的蓝图,包含了所有构建任务和它们的依赖关系。它定义了如何编译源代码、打包应用、执行测试以及部署项目。在myEclipse这样的...
8. **配置Ant构建文件路径**:在Jenkins中指定Ant的build.xml文件位置,让Jenkins知道如何运行构建任务。 9. **保存并构建**:保存项目配置,然后手动触发一次构建,确保配置正确无误。 通过这种整合,开发团队...
基本的Ant构建文件(build.xml)通常包含以下几个部分: 1. **项目声明(Project)**:定义Ant项目的基本属性,如项目名称、版本等。 2. **属性(Property)**:用于存储可配置的值,可以在整个构建过程中引用。 3....
Emma可以集成到Ant构建中,为Java代码提供覆盖率报告,帮助开发者评估测试的全面性。`ant-contrib.jar`则包含了一些额外的Ant任务,扩展了Ant的功能。 总的来说,使用Ant编译Java项目并创建jar包,你需要编写一个...
了解ANT的基本概念、XML配置语法以及如何利用类似gen1.py的工具,对于Java开发者进行高效的项目管理和自动化构建至关重要。同时,这也体现了编程语言之间的互操作性,即Python与Java的结合,进一步展示了软件开发中...
5. **体验Ant构建** 以经典的“HelloWorld”为例,演示如何使用Ant进行项目构建: - 创建Java源文件`HelloWorld.java`。 - 编写`build.xml`文件,定义构建过程,包括初始化、编译、打包和运行目标。 - `init`...
《Ant权威指南》是一本深度解析Apache Ant工具的专业书籍,对于深入理解和熟练运用Ant构建Java项目具有极高的价值。Ant是Java社区广泛采用的自动化构建工具,它以其灵活性、可扩展性和强大的任务定义能力,成为了...
MyEclipse是Eclipse IDE的一个扩展,特别适合于Java EE项目的开发,它内置了对Ant的支持,使得我们可以方便地在IDE内管理Ant构建脚本。 首先,我们需要理解Ant的构建文件——`build.xml`。这个文件是Ant的核心,它...
标签"apache"、"apache-ant"、"ant"分别代表了Apache软件基金会、Apache Ant项目以及Ant本身,这些标签有助于搜索和分类,表明了该文件与Apache组织的Ant构建工具紧密相关。 在解压"apache-ant-1.9.16-bin.zip"后,...
- `build.xml`: ANT构建文件 这个DEMO展示了如何编写简单的Java类,使用JUnit4编写测试用例,然后使用ANT运行这些测试并生成报告。你可以通过阅读和修改这个DEMO,加深对ANT和JUnit4的理解。 总结来说,ANT和JUnit...
Ant是Apache软件基金会的一个开放源代码项目,是一个Java构建工具,它使得构建、部署和管理Java项目变得更加简单。Ant以其XML格式的构建文件而闻名,这些文件定义了构建过程中的任务序列,允许开发者以声明性的方式...
《Ant——Java开发中的构建工具》 Ant是Java开发领域中的一款强大且广泛应用的构建工具,它由Apache软件基金会开发并维护。Ant以其XML为基础的构建文件(build.xml)著称,该文件定义了项目的构建过程,包括编译、...
《Ant应用开发指南》是IT领域中针对Ant构建工具的一份详尽的教程与资源,旨在帮助开发者深入了解并掌握Ant的使用方法与实践技巧。Ant,最初作为一个缩写代表“Another Neat Tool”,是一个功能强大的构建工具,尤其...
2. **XML配置文件**:Ant的构建文件通常命名为`build.xml`,其中包含了项目构建的详细步骤。XML格式让配置文件具有良好的可读性和结构化,便于维护。 3. **依赖关系**:Ant支持目标之间的依赖关系,可以定义先执行...
标题“antbuild-apk”指的是使用Ant构建工具来创建Android应用(APK)的过程。Ant是Apache软件基金会的一个开源项目,它是一个基于Java的构建工具,可以用来自动化编译、打包、测试等软件构建任务。在Android开发中...
在提供的文件内容中,作者通过一个简单的示例——“HelloAnt”程序,展示了如何创建Ant构建文件并完成编译和运行。首先,创建`HelloAnt.java`源代码文件,然后编写`build.xml`文件,定义编译和运行Java类的目标。在`...
### 使用ANT构建Application #### ANT简介 ANT是Apache提供的一款专为Java开发者设计的强大构建工具。作为一款开源软件,ANT支持跨平台操作,在Windows和Unix操作系统上均可运行。相较于传统的shell脚本构建工具...
而"ant-launcher-1.7.jar.zip"文件则是Apache Ant的一个关键组件——Ant Launcher的1.7版本的归档文件,它主要用于启动Ant构建过程。本文将深入探讨Ant Launcher的功能、作用以及如何在项目中正确使用。 首先,Ant ...