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 ...
随机推荐
- 物联网架构成长之路(9)-双机热备Keepalived了解
1. 前言 负载均衡LB,高可用HA,这一小结主要讲双机热备方案保证高可用.这里选择Keepalived作为双机热备方案,下面就对具体的配置进行了解.2. 下载Keepalived wget http ...
- Socket网络编程--小小网盘程序(3)
接上一小节,这次增加另外的两张表,用于记录用户是保存那些文件.增加传上来的文件的文件指纹,使用MD5表示. 两张表如下定义: create table files( fid int, filename ...
- 模仿jQuery的ajax的封装
/* * 我们使用了ajax 的xmlHttpRequest 跟服务器进行交互. * * 交互了有四个基本步骤 * 1:创建对象 * 2:建立连接 * 3:发送请求 * 4:接收数据 * * 这些操作 ...
- hello.cpp 第一个C++程序(本博客没有特指都是以QT测试)
操作步骤:1.文件->新建文件或项目(N)->New File or Project->Qt Console Application->Choose->“名称”中输入工程 ...
- buildroot 编译问题
buildroot 编译的时候,出现 g++: internal compiler error: Killed (program cc1plus) 这个是因为虚拟机内存不足的原因, 加上一些内存即可 ...
- android平台的三个编译命令——make,mm,mmm
在Android源码根目录下,执行以下三步即可编译android: 1. build/envsetup.sh #这个脚本用来设置android的编译环境; 2. lunch #选择编译目标 3 ...
- jquery easyui 中tab页添加其他页面,href与content的用法与区别
//tab页增加 function addPanel(name,url){ var dd = $('#tt').tabs('exists',name); if(dd){ $('#tt').tabs(' ...
- talk 1
话转偏锋 让别人可以接话, 同时可以设计转换到的话题, 把"谈话带到正确的轨道", 就像下象棋一样, 要看三步 A: 很喜欢看篮球比赛, 对B说 我每次都堵湖人队会赢 B: 篮球最 ...
- Oracle Grid 11.2.0.4 安装是出现“[INS-41112] Specified network interface doesnt maintain connectivity across cluster”错误
最新文章:Virson's Blog 安装Oracle 11.2.0.4 的RAC,在Grid 安装时报错: [INS-41112]Specified network interface doesnt ...
- PHP最全笔记(一)(值得收藏,不时翻看一下)
PHP笔记来啦~绝对干货! 以下为我以前学PHP时做的笔记,时不时的也会添加一些基础知识点进去,有时还翻出来查查. //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任 ...