Ant学习---第三节:使用Ant实现一个最小的项目编译
1、编译 .java 文件,生成 .jar 包,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<project default="jar">
<!-- fileset数据类型定义了一组文件 dir表示fileset 的基目录 -->
<fileset id="src.path" dir="src">
<!-- include 是用逗号分隔的,需要包含的文件模式列表 -->
<include name="**/*.*"/>
<!-- excludes 是用逗号分隔的需要派出的文件模式列表 -->
<exclude name="**/Test*"/>
</fileset>
<target name="init">
<delete dir="build"/>
<!-- mkdir标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名 -->
<mkdir dir="build"/>
<mkdir dir="build/src"/>
<mkdir dir="build/classes"/>
<mkdir dir="build/dist"/>
</target>
<!-- depends表示依赖的目标 -->
<target name="copySrc" depends="init">
<!-- todir 表示目标目录 -->
<copy todir="build/src">
<!-- 通过 refid 可以引用外部标签 -->
<fileset refid="src.path"></fileset>
</copy>
</target> <target name="compile" depends="copySrc">
<!-- 编译 -->
<javac destdir="build/classes" srcdir="src"/>
</target> <target name="jar" depends="compile">
<!-- 打包 -->
<!-- destfile表示JAR文件名 basedir表示被归档的文件名 -->
<jar destfile="build/classes/hello.jar" basedir="build/src"/>
</target>
</project>
2、在生成的 .jar 文件中的 MANIFEST.MF 文件中添加属性,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<project default="jar">
<!-- fileset数据类型定义了一组文件 dir表示fileset 的基目录 -->
<fileset id="src.path" dir="src">
<!-- include 是用逗号分隔的,需要包含的文件模式列表 -->
<include name="**/*.*"/>
<!-- excludes 是用逗号分隔的需要派出的文件模式列表 -->
<exclude name="**/Test*"/>
</fileset>
<target name="init">
<delete dir="build"/>
<!-- mkdir标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名 -->
<mkdir dir="build"/>
<mkdir dir="build/src"/>
<mkdir dir="build/classes"/>
<mkdir dir="build/dist"/>
</target>
<!-- depends表示依赖的目标 -->
<target name="copySrc" depends="init">
<!-- todir 表示目标目录 -->
<copy todir="build/src">
<!-- 通过 refid 可以引用外部标签 -->
<fileset refid="src.path"></fileset>
</copy>
</target> <target name="compile" depends="copySrc">
<!-- 编译 -->
<javac destdir="build/classes" srcdir="src"/>
</target> <target name="jar" depends="compile">
<!-- 打包 -->
<!-- destfile表示JAR文件名 basedir表示被归档的文件名 -->
<jar destfile="build/classes/hello.jar" basedir="build/src">
<!-- manifest标签往META-INF/MANIFEST.MF文件中添加属性 -->
<manifest>
<!-- 如果 jar 可以运行,需要在META-INF/MANIFEST.MF文件中添加Mina-class -->
<attribute name="Mina-class" value="com.learn.ant.HelloWorld"></attribute>
<attribute name="BuildBy" value="hwl"></attribute>
</manifest>
</jar>
</target>
</project>
3、执行 .jar 文件,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<project default="execute">
<!-- fileset数据类型定义了一组文件 dir表示fileset 的基目录 -->
<fileset id="src.path" dir="src">
<!-- include 是用逗号分隔的,需要包含的文件模式列表 -->
<include name="**/*.*"/>
<!-- excludes 是用逗号分隔的需要派出的文件模式列表 -->
<exclude name="**/Test*"/>
</fileset>
<target name="init">
<delete dir="build"/>
<!-- mkdir标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名 -->
<mkdir dir="build"/>
<mkdir dir="build/src"/>
<mkdir dir="build/classes"/>
<mkdir dir="build/dist"/>
</target>
<!-- depends表示依赖的目标 -->
<target name="copySrc" depends="init">
<!-- todir 表示目标目录 -->
<copy todir="build/src">
<!-- 通过 refid 可以引用外部标签 -->
<fileset refid="src.path"></fileset>
</copy>
</target> <target name="compile" depends="copySrc">
<!-- 编译 -->
<javac destdir="build/classes" srcdir="src">
<compilerarg line="-encoding UTF-8"/>
</javac>
</target> <target name="jar" depends="compile">
<!-- 打包 -->
<!-- destfile表示JAR文件名 basedir表示被归档的文件名 -->
<jar destfile="build/dist/hello.jar" basedir="build/classes">
<!-- manifest标签往META-INF/MANIFEST.MF文件中添加属性 -->
<manifest>
<!-- 如果 jar 可以运行,需要在META-INF/MANIFEST.MF文件中添加Mina-class -->
<attribute name="Main-class" value="com.learn.ant.HelloWorld"></attribute>
<attribute name="BuildBy" value="hwl"></attribute>
</manifest>
</jar>
</target> <target name="execute" depends="jar">
<!-- 编译 -->
<echo>基于类路径的classname来完成执行</echo>
<java classname="com.learn.ant.HelloWorld" classpath="build/classes">
<!-- 参数 -->
<arg value="张三"/>
<arg value="李四"/>
<arg value="王五"/>
</java> <echo>基于jar文件完成执行</echo>
<!-- fork="true" 表示基于jdk的环境类执行 -->
<java jar="build/dist/hello.jar" fork="true">
<!-- 参数 -->
<arg value="张三"/>
<arg value="李四"/>
<arg value="王五"/>
</java>
</target>
</project>
Ant学习---第三节:使用Ant实现一个最小的项目编译的更多相关文章
- 【转】Ant学习笔记——自己构建Ant编译环境
自从年初开始用NetBeans6.0,才接触到Ant. 这是今年6月份的一篇Ant学习笔记.安装 1.下载并构建环境. 去官网下载src包和bin包.解压缩它们到同一目录,运行build.bat, ...
- Ant学习---第二节:Ant添加文件夹和文件夹集的使用
一.创建 java 项目(Eclipse 中),结构图如下: 1.创建 .java 文件,代码如下: package com.learn.ant; public class HelloWorld { ...
- Ant学习---第一节:Ant安装和简单使用
一.下载 ant 插件,路径如下: http://ant.apache.org/bindownload.cgi 二.安装 ant 插件,解压下载下来的 ant 插件,配置环境变量(最好系统环境变量), ...
- beego学习笔记一:创建第一个beego Web项目 转
前提工作 环境搭建,可以参考如下两篇教程:搭建Go语言环境1搭建Go语言环境2 安装beego beego 的安装是典型的 Go 安装包的形式: go get github.com/astaxie/b ...
- Ant学习实例
ant 目录(?)[+] Ant学习实例 安装Ant 基础元素 project元素 target元素 property元素 完整示例 Ant学习实例 1.安装Ant 先从http://ant. ...
- 用IntelliJ IDEA学习Spring--创建一个简单的项目
这段时间想学习一下Spring,其实之前学过Spring,只是有些忘记了.而且之前学的时候是适用eclipse学习的,现在好像对IntelliJ这个工具使用挺多的,现在就学习一下这个工具的用法,顺便复 ...
- Ant学习-001-ant 基础知识及windows环境配置
一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...
- Ant学习笔记(1) 基础知识
Ant Apache Ant 是一个基于 Java的构建工具. 下载Ant google.baidu.Windows用户下载zip格式.解压即可. Windows安装Ant Ant本质上是一个Java ...
- Ant学习笔记
前言:这段时间在学习Ant,发现这是一个很强大的构建工具.你可能使用了很长一段时间,才发现Ant能做数不完的事.总之,个人觉得,Ant学习门槛低,入门简单,能大概看懂程序,写一些简单的脚本即可,剩下在 ...
随机推荐
- angular directive指令相互独立
想要让指令的使用相互间不干扰,如下:
- JavaScript空判断
if(backInfo != "" && backInfo != null && typeof(backInfo)!="undefined ...
- 轻松入门React和Webpack
最近在学习React.js,之前都是直接用最原生的方式去写React代码,发现组织起来特别麻烦,之前听人说用Webpack组织React组件得心应手,就花了点时间学习了一下,收获颇丰 <!-- ...
- s3c6410_u-boot-2010.03移植【续】
本文接上一篇:http://www.cnblogs.com/tanghuimin0713/p/3965528.html 6.3)重新编译,烧写,运行 U-Boot - ::) for SMDK6410 ...
- CSS 3 中二维三维以及渐变过程简单总结 及效果(动图不好发)
一. 不动,区域内的变化(本质生产一张图片) /*渐变 1 长方形之渐变先定义长方形的宽高大小(好观察最好加边框) ...
- -webkit-filter属性用来干什么
这两天有看到国外网站纷纷介绍-webkit-filter,开始很迷惑,丫是想要学IE吗?今天看了下,和IE的滤镜没一毛关系啊,而且,效果很赞! 这些滤镜效果最初是用于SVG的,W3C引入到CSS中,然 ...
- 2013/8/28 JS+HTML 三级省市区联动
var mp = ["安徽","北京","福建","甘肃","广东","广西", ...
- 学习simple.data之基础篇
simple.data是一个轻量级的.动态的数据访问组件,支持.net4.0. 1.必须条件和依赖性: v4.0 or greater of the .NET framework, or v2.10 ...
- 简单翻译和补充:1. GNU ARM Eclipse
原文链接: GNU ARM Eclipse GNU 介绍: GNU 计划,又称革奴计划,是由RichardStallman在1983年9月27日公开发起的.它的目标是创建一套完全自由的操作系统.Ric ...
- python第一天作业
作业需求 OK 开始动手了 作业要用到的知识点: python的文件操作 ####################################################3 开始了 1.先写一 ...