ant 学习(2)-ant开发java程序,buile.xml文件分离

简介:

用Ant 开发java 程序----以及将build.xml文件拆分

用Ant 开发java 程序,以HelloWord 为例
1> 本次实例的目录结构:
c:\ant_test 主目录
      ---- \src 源程序目录

      ----build.xml
首先在 c 盘创建ant_test 目录和src 子目录。

2> 在src 子目录下创建HelloWorld.java 文件,内容如下:


 public class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}


3> 在test 主目录下创建build.xml 文件,内容如下:


<?xml version="1.0"?>
<project default="build" basedir=".">
   <property name="appname" value="HelloWorld" />
   <property name="base" value="C:\ant_test" />
   <property name="src" value="src" />
   <property name="build" value="classes" />
   <property name="myclasspath" value="${base}\${build}" />  
   <target name="build">
      <mkdir dir="${build}" />
      <javac srcdir="${src}" destdir="${build}" includeantruntime="on">
      <include name="**/*.java" />
     </javac>
   </target>
  
  <target name="run" depends="build">
    <exec executable="java">
    <arg line=" -classpath ${myclasspath} ${appname}" />
    </exec>
  </target>
  
  <target name="clean">
    <delete includeEmptyDirs="true">
    <fileset dir="${build}" />
    </delete>
  </target>
</project>

   4> 在test 目录下运行ant 查看执行结果。
运行 ant run 和ant clean 看看会怎么样


ant run

ant 学习(2) - 流口水的小猪 - 轨迹

 

ant clean  

ant 学习(2) - 流口水的小猪 - 轨迹

此处我实验了以下,如果将clean的target中task的方法改为

 <delete dir="${build}"/>

 则运行ant clean

ant 学习(2) - 流口水的小猪 - 轨迹

 

下面介绍为了提高程序的可移植性,我们将property 分离出来组成build.properties 文件。新的build.xml 文件和build.properties 文件内容如下:

   

 新build.xml文件
<?xml version="1.0"?>
<project default="build" basedir=".">
 
 <property file="build.properties" />
  
  <target name="build">
    <mkdir dir="${build}" />
    <javac srcdir="${src}" destdir="${build}" includeantruntime="on">
    <include name="**/*.java" />
    </javac>
  </target>
  
  <target name="run" depends="build">
    <exec executable="java">
    <arg line=" -classpath ${myclasspath} ${appname}" />
    </exec>
  </target>
  
  <target name="clean">
    <delete includeEmptyDirs="true">
    <fileset dir="${build}" />
    </delete>
  </target>
</project>
 build.properties 文件
appname=HelloWorld
src=src
build=classes
myclasspath=${basedir}\\${build}

 同样可以运行ant run 和 ant clean命令



本文转自 326647452 51CTO博客,原文链接:http://blog.51cto.com/svsky/2074008,如需转载请自行联系原作者

相关文章
|
8天前
|
XML Java 数据库连接
mybatis中在xml文件中通用查询结果列如何使用
mybatis中在xml文件中通用查询结果列如何使用
9 0
|
10天前
|
消息中间件 前端开发 Java
java学习路径
【4月更文挑战第9天】java学习路径
17 1
|
10天前
|
XML JavaScript 前端开发
xml文件使用及解析
xml文件使用及解析
|
15天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
10天前
|
设计模式 前端开发 安全
Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
【4月更文挑战第9天】Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
15 1
|
6天前
|
Java 存储
键值之道:深入学习Java中强大的HashMap(二)
键值之道:深入学习Java中强大的HashMap
10 0
键值之道:深入学习Java中强大的HashMap(二)
|
8天前
|
运维 NoSQL 算法
Java开发-深入理解Redis Cluster的工作原理
综上所述,Redis Cluster通过数据分片、节点发现、主从复制、数据迁移、故障检测和客户端路由等机制,实现了一个分布式的、高可用的Redis解决方案。它允许数据分布在多个节点上,提供了自动故障转移和读写分离的功能,适用于需要大规模、高性能、高可用性的应用场景。
15 0
|
9天前
|
JavaScript Java 测试技术
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
25 0
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
|
10天前
|
人工智能 小程序 Java
JAVA开发智慧学校系统源码+人脸电子班牌布局
智慧校园是通过利用物联网,大数据技术来改变师生和校园资源相互交互的方式,以便提高交互的明确性、灵活性和响应速度,从而实现智慧化服务和管理的校园模式。
|
10天前
|
XML JSON JavaScript
Java中XML和JSON的比较与应用指南
本文对比了Java中XML和JSON的使用,XML以自我描述性和可扩展性著称,适合结构复杂、需验证的场景,但语法冗长。JSON结构简洁,适用于轻量级数据交换,但不支持命名空间。在Java中,处理XML可使用DOM、SAX解析器或XPath,而JSON可借助GSON、Jackson库。根据需求选择合适格式,注意安全、性能和可读性。
23 0