Ant是什么?
理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷。
既然我们已经有了make, gnumake, nmake, jam以及其他的build工具为什么还要要一种新的build工具呢?因为Ant的原作者在多种(硬件)平台上开发软件时,无法忍受这些工具的限制和不便。
类似于make的工具本质上是基于shell(语言)的:他们计算依赖关系,然后执行命令(这些命令与你在命令行敲的命令没太大区别)。
这就意味着你可以很容易地通过使用OS特有的或编写新的(命令)程序扩展该工具;然而,这也意味着你将自己限制在了特定的OS,或特定的OS类型上,如Unix。
Makefile也很可恶。
任何使用过他们的人都碰到过可恶的tab问题。
Ant的原作者经常这样问自己:是否我的命令不执行只是因为在我的tab前有一个空格?!!。
类似于jam的工具很好地处理了这类问题,但是(用户)必须记住和使用一种新的格式。
Ant就不同了。
与基于shell命令的扩展模式不同,Ant用Java的类来扩展。
(用户)不必编写shell命令,配置文件是基于XML的,通过调用target树,就可执行各种task。
每个task由实现了一个实现了特定Task接口的对象来运行。
(如果你对Ant一点概念都没有的话,可能看不懂这一节,没有关系,后面会对target,task做详细的介绍。
你如果没有太多的时间甚至可以略过这一节,然后再回来浏览一下这里的介绍,那时你就会看懂了。
同样,如果你对make之类的工具不熟悉也没关系,下面的介绍根本不会用到make中的概念。
)
必须承认,这样做,在构造shell命令时会失去一些特有的表达能力。
如`find . -name foo -exec rm {}`,但却给了你跨平台的能力-你可以在任何地方工作。
ant怎么编译带有依赖关系的类?
1、eclipse背后做了很多工作,包括库的引用等
2、如果用ant命令的话,就需要设置很多东西,比如环境变量,库路径的设置等
3、先编译一个jar包,用jar包引用,把工程引用改为jar文件引用,再编译试试。
如何运行ant命令编译打包JBPM工程
搭建JBPM的WEB应用
在JBPM的发布包中,已经为我们准备了一个JSF架构的WEB应用,我们可以在这个应用基础之上来搭建我们的发布工具。
a) 在命令行模式下,进入jbpm目录,运行ant命令编译打包JBPM工程。
打包完成后进行jbpm/build目录,找到jbpm.war.dir文件夹,将其copy到tomcat 5.5.15的webapps目录下(由于我们前面在做JBPM建表工作的时候已经配置好JBPM的数据库连接信息,所以jbpm.war.dir的web应用里我们就不用再操心数据库的连接问题了)。
其中好多人都不知道怎么“运行ant命令编译打包JBPM工程”,我也被这个问题困扰了好长时间,现在终于想到如何写这个命令了,现在写出来和大家一起分享。
运行cdm命令,进入jbpm目录,输入 ant build.webapp -buildfile build.deploy.xml 。
下面是我运行的结果:过程和结果
E:dorado jbpmjbpm-starters-kit-3.1.2jbpm>ant build.webapp -buildfile build.deploy.xml
Buildfile: build.deploy.xml
build.webapp:
compile.jbpm:
compile.identity:
compile.jbpm.test:
compile.webapp:
compile.identity.test:
compile.examples:
compile:
build.webapp:
[mkdir] Created dir: E:dorado jbpmjbpm-starters-kit-3.1.2jbpmuildjbpm.
war.dir
[copy] Copying 29 files to E:dorado jbpmjbpm-starters-kit-3.1.2jbpmuil
djbpm.war.dir
[copy] Copying 11 files to E:dorado jbpmjbpm-starters-kit-3.1.2jbpmuil
djbpm.war.dirWEB-INFlib
[jar] Building jar: E:dorado jbpmjbpm-starters-kit-3.1.2jbpmuildjbpm
.war
BUILD SUCCESSFUL
Total time: 3 seconds
E:dorado jbpmjbpm-starters-kit-3.1.2jbpm>
然后按照a步骤中所说的到jbpm/build目录下就可以找到jbpm.war.dir文件夹 。
第一次发表文章,有不足之处大家多多指教!
如何写ant的打包命令
___________________________________________________________________________
以上是完整的build.xml文件,在build文件所在目录打开终端运行命令:ant zip
即可将basedir指定的目录打包成destfile指定的压缩包
PS:也可以在basedir与destfile指定文件的路径,此处默认与build.xml文件同一目录下。