ANT入门&用ANT编译java项目
第一次接触ant是15年在无锡某软件公司实习时,当时的项目是由多个模块组成,开发分成模块开发的几个小组。为了提高开发效率,采用这种编译项目的方法。
最近接触到flex项目,采用eclipse自动编译的方法,开发效率极低。于是着手写自己的第一个bulid.xml文件。
(前提,jdk已配置好,此处不再赘述)
入门:下载并配置ant.
下载完成后直接解压到指定目录就ok了,然后配置环境变量。
PATH:C:\Program Files\Apache Software Foundation\apache-ant-1.9.7\bin;
ANT_HOME:C:\Program Files\Apache Software Foundation\apache-ant-1.9.7
配置完成后:cmd 输入ant -version

编译java项目:
首先在项目中新建build.xml 和build.properties(用于属性的设置)文件

build.xml:
build文件主要由两部分组成:project和target,target之间可以有依赖关系,一般web项目,首先清除已经生成的class文件,然后再编译,最后copy到tomcat.
<?xml version="1.0" encoding="UTF-8"?>
<project name="nczsc" default="build.proj" basedir="." >
<property file="build.properties"/>
<target name="info">
<echo message="******************PROJECT:${project}******************"/>
<echo message="******************AUTHOR:${author}******************"/>
</target>
<target name="clean" depends="info">
<echo message="CLEAN PROJECT..."/>
<delete dir="${user.dir}\${classes}\common"/>
<delete dir="${user.dir}\${classes}\util"/>
<delete dir="${user.dir}\${classes}\config"/>
<delete dir="${user.dir}\${classes}\export"/>
<delete dir="${user.dir}\${classes}\vo"/>
<delete dir="${user.dir}\${classes}\com"/>
<delete dir="${user.dir}\${classes}\nczsc"/>
<delete file="${user.dir}\${classes}\log4j.properties"/>
</target> <target name="bulid.common" depends="clean">
<echo message="COMPILE COMMON CLASS..."/> <mkdir dir="${user.dir}\${classes}\util"/>
<javac includeantruntime="false" nowarn="on"
source="1.6" target="1.6" deprecation="true" debug="true"
encoding="UTF-8" classpathref="project.classpath" srcdir="${user.dir}\src\util" destdir="${user.dir}\${classes}">
<compilerarg line="-Xlint:unchecked" />
<compilerarg line="-encoding UTF-8"/>
</javac> <mkdir dir="${user.dir}\${classes}\vo"/>
<javac includeantruntime="false" nowarn="on"
source="1.6" target="1.6" deprecation="true" debug="true"
encoding="UTF-8" classpathref="project.classpath" srcdir="${user.dir}\src\vo" destdir="${user.dir}\${classes}">
<compilerarg line="-Xlint:unchecked" />
<compilerarg line="-encoding UTF-8"/>
</javac> <mkdir dir="${user.dir}\${classes}\common"/>
<javac includeantruntime="false" nowarn="on"
source="1.6" target="1.6" deprecation="true" debug="true"
encoding="UTF-8" classpathref="project.classpath" srcdir="${user.dir}\src\common" destdir="${user.dir}\${classes}">
<compilerarg line="-Xlint:unchecked" />
<compilerarg line="-encoding UTF-8"/>
</javac>
</target> <target name="build.proj" depends="bulid.common">
<echo message="COMPILE PROJECT..."/>
<mkdir dir="${user.dir}\${classes}\com"/>
<javac includeantruntime="false" nowarn="on"
source="1.6" target="1.6" deprecation="true" debug="true"
encoding="UTF-8" classpathref="project.classpath"
srcdir="${user.dir}\src\com" destdir="${user.dir}\${classes}">
<compilerarg line="-Xlint:unchecked" />
<compilerarg line="-encoding UTF-8"/>
</javac> <mkdir dir="${user.dir}\${classes}\config"/>
<copy todir="${user.dir}\${classes}\config">
<fileset dir="${user.dir}\src\config">
</fileset>
</copy> <mkdir dir="${user.dir}\${classes}\export"/>
<javac includeantruntime="false" nowarn="on"
source="1.6" target="1.6" deprecation="true" debug="true"
encoding="UTF-8" classpathref="project.classpath" srcdir="${user.dir}\src\export" destdir="${user.dir}\${classes}">
<compilerarg line="-Xlint:unchecked" />
<compilerarg line="-encoding UTF-8"/>
</javac> <mkdir dir="${user.dir}\${classes}\nczsc"/>
<javac includeantruntime="false" nowarn="on"
source="1.6" target="1.6" deprecation="true" debug="true"
encoding="UTF-8" classpathref="project.classpath" srcdir="${user.dir}\src\nczsc" destdir="${user.dir}\${classes}">
<compilerarg line="-Xlint:unchecked" />
<compilerarg line="-encoding UTF-8"/>
</javac>
</target>
<target name="copy.tomcat" depends="build.proj">
<echo message="COPY FILE TO TOMCAT..."/>
<copy todir="${tomcat.dir}\webapps\nczsc">
<fileset dir="${user.dir}\WebRoot">
</fileset>
</copy>
</target> <path id="project.classpath">
<fileset dir="${project.dir}\${lib.dir}">
<include name="**\*.jar" />
</fileset>
<fileset dir="${tomcat.dir}/lib">
<include name="*.jar" />
</fileset>
<fileset dir="${ant.dir}">
<include name="**\*.jar" />
</fileset>
</path>
</project>
build.propertes文件中主要用来设置在build文件中引用的变量,以便重复利用。
author=yookoo
project=nczsc
project.dir=D\:\\vs\\050 \u533A\u57DF\u75BE\u63A7\\095 \u8111\u5352\u4E2D\u7B5B\u67E5\u7CFB\u7EDF\\05 \u6E90\u4EE3\u7801\\01nczsc
classes=WebRoot\\WEB-INF\\classes
lib.dir=WebRoot\\WEB-INF\\lib
tomcat.dir=C\:\\Program Files\\Apache Software Foundation\\Tomcat 6.0
ant.dir=C\:\\Program Files\\Apache Software Foundation\\apache-ant-1.9.7
最后,将build文件加入ant中。

然后点击双击ant中的build.proj启动程序。
ANT入门&用ANT编译java项目的更多相关文章
- 使用maven编译Java项目 http://www.tuicool.com/articles/YfIfIrq
使用maven编译Java项目 时间 2014-07-17 17:42:37 Way Lau's Blog 原文 http://www.waylau.com/build-java-project- ...
- 使用 Gradle 编译 Java 项目时报错: Could not find Tools.jar
在使用Android studio进行编译成jar的时候,遇到Gradle 编译错误,听前辈们说是jdk的版本不对,于是乎就更新了一下jdk, 然而可能是我重新安装jdk的时候改变了安装路径, 在pr ...
- 使用maven编译Java项目
摘要: 综述 本文演示了用Maven编译Java项目 需要 时间:15分钟 文本编辑器或者IDE JDK 6 或者更高版本 创建项目 本例主要为了展示Maven,所以Java的项目力求简单. 创建项目 ...
- 命令行编译java项目
命令行编译java项目 项目名: testproj 目录 src -> cn -> busix -> test bin lib 编译项目 cd testproj javac -d . ...
- Jenkins 通过 maven 构建编译 JAVA 项目环境
Jenkins 通过maven 构建编译 JAVA 项目环境 官网下载合适Jenkins版本包: 1.jenkins http://mirrors.jenkins.io/war-stable/ 2.J ...
- java ----> 手动编译java项目
环境: jdk1.8,cmd,notepad++ 创建java工程test,创建文件夹: src classes lib 说明: src 放置.java文件 classes 放置.class文件 li ...
- Apache Maven Cookbook(一)maven 使用命令创建、编译java项目
一.创建 使用命令创建项目分几步: 1.打开命令行窗口,比如cmd,把目录切换至想要创建项目地方. 2.执行如下命令: mvn archetype:generate -DgroupId=com.zua ...
- 怎么快速入门一个老的java项目
作者:eilen著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1.有文档肯定先看文档,先看设计文档,产品的.技术的设计文档,接口文档写的好的可以看看,要是写的不好不着急看. 2 ...
- eclipse 编译JAVA 项目导入的WEB项目 无法编译问题
右击你的项目 选择properties ---->java Build Path--->Default output folder新建一个classes目录就好了 watermark/2 ...
随机推荐
- java框架篇---hibernate之缓存机制
一.why(为什么要用Hibernate缓存?) Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能. 缓存内的数据是对物理数 ...
- 【emWin】例程二十一:窗口对象——Edit
简介: 编辑框通常用作输入文本的主要用户界面,也可使用编辑字段以二进制.十进制或十六进制模式输入值. 触摸校准(上电可选择是否进入校准界面) 实验指导书及代码包下载: 链接:http://pan.ba ...
- [转载][IoC容器Unity]第二回:Lifetime Managers生命周期
1.引言 Unity的生命周期是注册的类型对象的生命周期,而Unity默认情况下会自动帮我们维护好这些对象的生命周期,我们也可以显示配置对象的生命周期,Unity将按照配置自动管理,非常方便,下面就介 ...
- SPARKR,对RDD操作的介绍
(转载)SPARKR,对RDD操作的介绍 原以为,用sparkR不能做map操作, 搜了搜发现可以. lapply等同于map, 但是不能操作spark RDD. spark2.0以后, spar ...
- Fedora 21 安装 Bumblebee with the NVIDIA proprietary drivers
最新文章:Virson's Blog 参考Fedora Wiki:http://fedoraproject.org/wiki/Bumblebee#Fedora_21
- circRNA 在人和小鼠脑组织中的表达
circRNA 是一类动物体内的内源性的RNA,尽管circRNA的种类丰富,但是其在神经系统中的 功能,并不清楚.科学家通过对人和小鼠的不同脑部组织的RNA 测序,发现了上千种circRNA,经过分 ...
- Dapper Extensions Change Schema
Dapper Extensions Change Schema You can use the AutoClassMapper to assign a new schema to your model ...
- SpringBoot------拦截器Filter的使用
前言: 最新Servlet 3.0拦截器的使用 1.pom.xml添加需要使用的依赖 <project xmlns="http://maven.apache.org/POM/4.0.0 ...
- MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)
列转行:利用max(case when then) SELECT `name`, MAX( CASE WHEN course='语文' THEN score END ) AS 语文, MAX( CAS ...
- AnalyticDB - 分析型数据库
https://yq.aliyun.com/teams/31?spm=5176.7937365.1120968.ee1.78505692UL9DhG 分析型数据库(AnalyticDB)是一种高并发低 ...