ant的讲解

本文介绍了ANT构建工具在Java项目构建过程中的应用,通过构建XML文件实现代码编译、打包、运行等操作,简化了复杂的部署流程。适用于服务器部署、跨平台使用及简化服务器维护者的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ant是构建工具  相似的工具就是:maven 、gradle、make等等。

2、什么是构建 
概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个。
(代码文件进行集合、编译、运行、安装等等工作)


3,ant的好处 和make来对比
跨平台 、 使用简单、语法清晰、功能强大。

make更多应用于c/c++ ,ant更多应用于Java。

二、ant的实例应用
目标:
编写一些程序
编译它们
把它打包成jar包
把他们放在应该放置的地方
运行它们

代码示例:
一个简单的程序HelloWorld.java如下:

package test.ant;
public class HelloWorld{
public static void main(String[] args){
   System.out.println("Hello world1");
}
};




2,上面的目标,你可以手动的用javac 、copy 、jar、java来完成。
若是有成百上千个类,在多次调试,部署的时候,一次次的javac 、copy、jar、
java那将是一份辛苦的工作。
但是我们可以使用ant来实现它。
要运行ant需要有一个build.xml(创建一个xml文件,不一定去这个名字)。

//build.xml代码
<?xml version="1.0" encoding="UTF-8" ?>   //版本
<project name="HelloWorld" default="run" basedir=".">   
//name 取得名字 ,  basedir 工作的根目录,“.” 代表当前目录 default代表默认要做的事情,这里是要执行。
<property name="src" value="src"/>  
//类似程序中的变量,就是build.xml中文件的属性
<property name="dest" value="classes"/>  
<property name="hello_jar" value="hello1.jar"/>  


<target name="init">  
   <mkdir dir="${dest}"/>  
</target>  
//初始化的时候,直接将目录设置为当前的文件,这样ant生成的文件就在目标的目录下,所以我们可以不用拷贝的操作


<target name="compile" depends="init">  
   <javac srcdir="${src}" destdir="${dest}"/>  
</target> 
 //想做的每一件事情都是写成一个target ,depends 是它所依赖的target
 执行compile的target之前,先执行了init,再执行compile;
 若是没有知心init,就会执行依赖限制性init。


<target name="build" depends="compile">  
   <jar jarfile="${hello_jar}" basedir="${dest}"/>  
</target>  
//建立一个jar的包,依赖是先编译


<target name="run" depends="build">  
   <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>  
</target> 
//运行,先要有建立打包成jar的包


<target name="clean">  
   <delete dir="${dest}" />  
   <delete file="${hello_jar}" />  
</target>  
//删除生成的文件


<target name="rerun" depends="clean,run">  
   <ant target="clean" />  
   <ant target="run" />  
</target>  


</project>


ps:
<project name="HelloWorld" default="run" basedir=".">  
</project>  
ant的所有内容必须包含在这个里边。




为了不用拷贝,我们可以在最开始定义好目标文件夹,这样ant直接把结果就放在目标文件夹中了  
<target name="init">  
<mkdir dir="${dest}"/>  
</target>  


注意目录的存放
(相应的截图)


在.xml文件的目录下执行ant target name (这里是:ant  build)  命令就好。

代码:

build.xml的代码:

<?xml version="1.0" encoding="UTF-8" ?>  
<project name="HelloWorld" default="run" basedir=".">  
<property name="src" value="src"/>  
<property name="dest" value="classes"/>  
<property name="hello_jar" value="hello1.jar"/>  
<target name="init">  
   <mkdir dir="${dest}"/>  
</target>  
<target name="compile" depends="init">  
   <javac srcdir="${src}" destdir="${dest}"/>  
</target>  
<target name="build" depends="compile">  
   <jar jarfile="${hello_jar}" basedir="${dest}"/>  
</target>  
<target name="run" depends="build">  
   <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>  
</target>  
<target name="clean">  
   <delete dir="${dest}" />  
   <delete file="${hello_jar}" />  
</target>  
<target name="rerun" depends="clean,run">  
   <ant target="clean" />  
   <ant target="run" />  
</target>  
</project>  


HelloWorld.java 的代码:

package test.ant; 

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


总结:上面可以知道,我们使用ant实现了集成的类文件进行编译和执行。
却是和make是很相似,make在c++中经常也是使用来进行编译和安装。


什么情况使用ant?即为使用ant比eclipse+其他组合便利。优点
1,服务器上部署的时候
由于ant小巧,将写好的build.xml到任何一台服务器上,只需要做简单的修改(一些设定,例如目录),然后一两个命令完成。
2、ant是跨平台的,所以在window和linux/unix 之间的切换,使用这个配置就好。
3、服务器维护者不懂的编程,也就是简单易用。


ant的进一步的使用;
不同的模块之间进行整合和编译。
1,自己重新写一个build.xml ,这将是一个麻烦的事情
2,尽量利用他们已经写好的build.xml,减少自己的工作
参考链接:
http://www.cnblogs.com/huozhicheng/archive/2010/04/08/2533199.html
(的下半部分)
内容概要:该PPT详细介绍了企业架构设计的方法论,涵盖业务架构、数据架构、应用架构和技术架构四大核心模块。首先分析了企业架构现状,包括业务、数据、应用和技术四大架构的内容和关系,明确了企业架构设计的重要性。接着,阐述了新版企业架构总体框架(CSG-EAF 2.0)的形成过程,强调其融合了传统架构设计(TOGAF)和领域驱动设计(DDD)的优势,以适应数字化转型需求。业务架构部分通过梳理企业级和专业级价值流,细化业务能力、流程和对象,确保业务战略的有效落地。数据架构部分则遵循五大原则,确保数据的准确、一致和高效使用。应用架构方面,提出了分层解耦和服务化的设计原则,以提高灵活性和响应速度。最后,技术架构部分围绕技术框架、组件、平台和部署节点进行了详细设计,确保技术架构的稳定性和扩展性。 适合人群:适用于具有一定企业架构设计经验的IT架构师、项目经理和业务分析师,特别是那些希望深入了解如何将企业架构设计与数字化转型相结合的专业人士。 使用场景及目标:①帮助企业和组织梳理业务流程,优化业务能力,实现战略目标;②指导数据管理和应用开发,确保数据的一致性和应用的高效性;③为技术选型和系统部署提供科学依据,确保技术架构的稳定性和扩展性。 阅读建议:此资源内容详尽,涵盖企业架构设计的各个方面。建议读者在学习过程中,结合实际案例进行理解和实践,重点关注各架构模块之间的关联和协同,以便更好地应用于实际工作中。
资 源 简 介 独立分量分析(Independent Component Analysis,简称ICA)是近二十年来逐渐发展起来的一种盲信号分离方法。它是一种统计方法,其目的是从由传感器收集到的混合信号中分离相互独立的源信号,使得这些分离出来的源信号之间尽可能独立。它在语音识别、电信和医学信号处理等信号处理方面有着广泛的应用,目前已成为盲信号处理,人工神经网络等研究领域中的一个研究热点。本文简要的阐述了ICA的发展、应用和现状,详细地论述了ICA的原理及实现过程,系统地介绍了目前几种主要ICA算法以及它们之间的内在联系, 详 情 说 明 独立分量分析(Independent Component Analysis,简称ICA)是近二十年来逐渐发展起来的一种盲信号分离方法。它是一种统计方法,其目的是从由传感器收集到的混合信号中分离相互独立的源信号,使得这些分离出来的源信号之间尽可能独立。它在语音识别、电信和医学信号处理等信号处理方面有着广泛的应用,目前已成为盲信号处理,人工神经网络等研究领域中的一个研究热点。 本文简要的阐述了ICA的发展、应用和现状,详细地论述了ICA的原理及实现过程,系统地介绍了目前几种主要ICA算法以及它们之间的内在联系,在此基础上重点分析了一种快速ICA实现算法一FastICA。物质的非线性荧光谱信号可以看成是由多个相互独立的源信号组合成的混合信号,而这些独立的源信号可以看成是光谱的特征信号。为了更好的了解光谱信号的特征,本文利用独立分量分析的思想和方法,提出了利用FastICA算法提取光谱信号的特征的方案,并进行了详细的仿真实验。 此外,我们还进行了进一步的研究,探索了其他可能的ICA应用领域,如音乐信号处理、图像处理以及金融数据分析等。通过在这些领域中的实验和应用,我们发现ICA在提取信号特征、降噪和信号分离等方面具有广泛的潜力和应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值