Linux下使用Apache Ant自动构建项目
2017-02-11 23:59
369 查看
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。
在线API
doc:【http://tool.oschina.net/apidocs/apidoc?api=ant-1.8.4】
下载文件到Linux有两种方法:
①在windows下载好 apache-ant.tar.gz,使用winSCP工具传输到Linux。具体做法参考【http://blog.csdn.net/weixin_36146275/article/details/54268491】
在tar.gz文件所在目录进行解压:
# tar apache-ant-1.10.1-bin.tar.gz
②Linux下使用wget命令直接下载
右击获取下载地址:【http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.10.1-bin.tar.gz】
到Linux下进行下载,当前目录是【/root】目录,下载的文件就在【/root】目录下
在tar.gz文件所在目录进行解压:
# tar apache-ant-1.10.1-bin.tar.gz
①搜索出profile所在目录【find / -name profile】
②更改重要文件前作备份【cp /etc/profile profile.bak】
[root@VM_7_253_centos ~]# find / -name profile
/etc/profile
[root@VM_7_253_centos ~]# cp /etc/profile profile.bak
[root@VM_7_253_centos ~]# vi /etc/profile
③编辑profile文件【vi /etc/profile】
添加信息:ANT_HOME表示apache-ant文件夹所在目录
Hello
|-- build.xml
`-- src
`-- com
`-- antDemo
`-- Hello.java
Hello.java文件输出“Hello world”
做了如此多的准备工作终于到apache ant相关的操作啦!
编辑build.xml,此链接中有对ant标签的详细介绍【http://blog.csdn.net/yangdayin/article/details/7681567】
<?xml version="1.0" encoding="UTF-8"?>
<project name="Hello" basedir=".">
<property name="source" value="src"/>
<!-- 定义名字dest,值是:classes -->
<property name="destination" value="classes"/>
<!-- 定义一个命令,作用是创建一个文件夹 -->
<target name="init">
<!-- Linux创建文件的命令${引用的目录} -->
<mkdir dir="${destination}"/>
</target>
</project>
执行ant init:
[root@VM_7_253_centos Hello]# ant init
Buildfile: /home/Hello/build.xml
BUILD FAILED
Error reading project file /home/Hello/build.xml: Invalid byte 1 of 1-byte UTF-8 sequence.
Total time: 0 seconds
xml文件解析报错,因为注释中包含了中文,无法正常解析。
解决办法是将build.xml的编码格式改成GBK
<?xml version="1.0" encoding="GBK"?>
再次执行ant init:执行成功,Hello目录下创建了classes文件夹
[root@VM_7_253_centos Hello]# ant init
Buildfile: /home/Hello/build.xml
init:
[mkdir] Created dir: /home/Hello/classes
BUILD SUCCESSFUL
Total time: 0 seconds
[root@VM_7_253_centos Hello]# ls
build.xml classes src
添加target标签,编辑javac命令让其依赖init运行:
<?xml version="1.0" encoding="GBK"?>
<project name="Hello" basedir=".">
<property name="source" value="src"/>
<!-- 定义名字dest,值是:classes -->
<property name="destination" value="classes"/>
<!-- 定义一个命令,作用是创建一个文件夹 -->
<target name="init">
<!-- Linux创建文件的命令${引用的目录} -->
<mkdir dir="${destination}"/>
</target>
<!--定义javac编译命令,依赖init运行-->
<target name="compile" depends="init">
<javac srcdir="${source}" destdir="${destination}" includeantruntime="on"/>
</target>
</project>
执行结果:看到Hello.class已经被编译到classess目录下了
[root@VM_7_253_centos Hello]# ant compile
Buildfile: /home/Hello/build.xml
init:
compile:
[javac] Compiling 1 source file to /home/Hello/classes
BUILD SUCCESSFUL
Total time: 2 seconds
[root@VM_7_253_centos home]# tree Hello
|-- Hello
| |-- build.xml
| |-- classes
| | `-- Hello.class
| `-- src
| `-- com
| `-- antDemo
| `-- Hello.java
小结:这是apache-ant带给我们开发者的好处,不用频繁使用javac命令编译、java命令运行了。只要写好了build.xml脚本,文件夹创建、程序的编译,运行都可以一键完成,可谓是一劳永逸啊。
在线API
doc:【http://tool.oschina.net/apidocs/apidoc?api=ant-1.8.4】
一、下载Apache Ant到Linux
下载文件到Linux有两种方法:
①在windows下载好 apache-ant.tar.gz,使用winSCP工具传输到Linux。具体做法参考【http://blog.csdn.net/weixin_36146275/article/details/54268491】
在tar.gz文件所在目录进行解压:
# tar apache-ant-1.10.1-bin.tar.gz
②Linux下使用wget命令直接下载
右击获取下载地址:【http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.10.1-bin.tar.gz】
到Linux下进行下载,当前目录是【/root】目录,下载的文件就在【/root】目录下
在tar.gz文件所在目录进行解压:
# tar apache-ant-1.10.1-bin.tar.gz
二、配置Apache Ant环境变量
配置profile文件:①搜索出profile所在目录【find / -name profile】
②更改重要文件前作备份【cp /etc/profile profile.bak】
[root@VM_7_253_centos ~]# find / -name profile
/etc/profile
[root@VM_7_253_centos ~]# cp /etc/profile profile.bak
[root@VM_7_253_centos ~]# vi /etc/profile
③编辑profile文件【vi /etc/profile】
添加信息:ANT_HOME表示apache-ant文件夹所在目录
export ANT_HOME=/root/apache-ant-1.10.1 export PATH=.:$ANT_HOME/bin:$PATH
三、Apache ANT构建项目环境
在 /home 目录下创建项目,结构如下:Hello
|-- build.xml
`-- src
`-- com
`-- antDemo
`-- Hello.java
Hello.java文件输出“Hello world”
class Hello{ public static void main(String args[]){ System.out.println("Hello World!"); } }
做了如此多的准备工作终于到apache ant相关的操作啦!
编辑build.xml,此链接中有对ant标签的详细介绍【http://blog.csdn.net/yangdayin/article/details/7681567】
<?xml version="1.0" encoding="UTF-8"?>
<project name="Hello" basedir=".">
<property name="source" value="src"/>
<!-- 定义名字dest,值是:classes -->
<property name="destination" value="classes"/>
<!-- 定义一个命令,作用是创建一个文件夹 -->
<target name="init">
<!-- Linux创建文件的命令${引用的目录} -->
<mkdir dir="${destination}"/>
</target>
</project>
执行ant init:
[root@VM_7_253_centos Hello]# ant init
Buildfile: /home/Hello/build.xml
BUILD FAILED
Error reading project file /home/Hello/build.xml: Invalid byte 1 of 1-byte UTF-8 sequence.
Total time: 0 seconds
xml文件解析报错,因为注释中包含了中文,无法正常解析。
解决办法是将build.xml的编码格式改成GBK
<?xml version="1.0" encoding="GBK"?>
再次执行ant init:执行成功,Hello目录下创建了classes文件夹
[root@VM_7_253_centos Hello]# ant init
Buildfile: /home/Hello/build.xml
init:
[mkdir] Created dir: /home/Hello/classes
BUILD SUCCESSFUL
Total time: 0 seconds
[root@VM_7_253_centos Hello]# ls
build.xml classes src
添加target标签,编辑javac命令让其依赖init运行:
<?xml version="1.0" encoding="GBK"?>
<project name="Hello" basedir=".">
<property name="source" value="src"/>
<!-- 定义名字dest,值是:classes -->
<property name="destination" value="classes"/>
<!-- 定义一个命令,作用是创建一个文件夹 -->
<target name="init">
<!-- Linux创建文件的命令${引用的目录} -->
<mkdir dir="${destination}"/>
</target>
<!--定义javac编译命令,依赖init运行-->
<target name="compile" depends="init">
<javac srcdir="${source}" destdir="${destination}" includeantruntime="on"/>
</target>
</project>
执行结果:看到Hello.class已经被编译到classess目录下了
[root@VM_7_253_centos Hello]# ant compile
Buildfile: /home/Hello/build.xml
init:
compile:
[javac] Compiling 1 source file to /home/Hello/classes
BUILD SUCCESSFUL
Total time: 2 seconds
[root@VM_7_253_centos home]# tree Hello
|-- Hello
| |-- build.xml
| |-- classes
| | `-- Hello.class
| `-- src
| `-- com
| `-- antDemo
| `-- Hello.java
小结:这是apache-ant带给我们开发者的好处,不用频繁使用javac命令编译、java命令运行了。只要写好了build.xml脚本,文件夹创建、程序的编译,运行都可以一键完成,可谓是一劳永逸啊。
相关文章推荐
- linux下使用maven自动构建项目
- maven项目依赖jar包,自动构建失败后使用手工添加
- 使用Jenkins进行android项目的自动构建(5)
- linux下使用apache ant搭建一个java项目
- 使用jekins自动构建部署java maven项目(jdk1.7+tomcat7.0+jenkins2.19.3)
- Maven JavaWEB项目使用Gulp自动构建js和css实现代码压缩、版本后缀
- 使用Jenkins进行android项目的自动构建(1)
- linux下使用Scons构建自己的项目程序
- 使用Ant自动构建Java项目成jar包配置
- 使用eclipse mybatis generator插件在maven 项目中自动构建代码
- 使用Jenkins进行android项目的自动构建(3)
- [react001] 使用webpack自动构建react 项目
- 用Ant实现Java项目的自动构建和部署/Eclipse下使用Ant
- SpringSide实战(三)----使用SpringSide4自动构建一个项目
- 使用rebar构建工程、执行单元测试、自动生成项目文档
- 使用Jenkins进行android项目的自动构建(4)
- 使用 Ant 自动生成项目构建版本
- Day 24: 使用Yeoman自动构建Ember项目
- 使用jenkins进行项目的自动构建部署
- 使用create-react-app自动构建react项目