李敏
日历
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
统计
随笔 - 1
文章 - 40
评论 - 4
引用 - 0
导航
BlogJava
首页
发新随笔
发新文章
联系
聚合
管理
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
文章分类
Head First(2)
(rss)
XML(2)
(rss)
应用配置(4)
(rss)
开发工具配置(9)
(rss)
算法(21)
(rss)
编码经验(1)
(rss)
项目代码(1)
(rss)
文章档案
2012年10月 (1)
2012年9月 (2)
2012年4月 (1)
2011年12月 (1)
2011年11月 (2)
2010年10月 (1)
2010年9月 (1)
2010年8月 (5)
2010年1月 (3)
2009年12月 (1)
2009年9月 (4)
2009年8月 (2)
2009年7月 (3)
2009年3月 (5)
2009年2月 (3)
2009年1月 (2)
2008年12月 (1)
2008年10月 (2)
2008年5月 (1)
相册
Oracle
Spket
收藏夹
开发工具(1)
(rss)
它山之石
庄周梦蝶,孰蝶是我,我是孰蝶?一梦至今,蝶我已难分
聚贤庄
搜索
最新评论
1. re: Io 异常: The Network Adapter could not establish the connection(转)[未登录]
评论内容较长,点击标题查看
--liu
2. re: Hibernate的Update语句的多属性更新
还是不太明白使用,能帮我吗?379899146
--Sky、超儿
3. re: MyEclipse Enterprise Workbench 8.0 注册码(转)
@byron
不好意思,忘了说明了,这个是我在网上找到的!
--李敏
4. re: MyEclipse Enterprise Workbench 8.0 注册码[未登录]
你太强大了哥们
--byron
如何使用Ant来编译Java文件以及如何运行?(一)
由于自己的电脑的内存比较小(512MB),只开一个Eclipse的时候,还勉强应付,如果同时要开Weblogic、Oracle或者全部都开,Oh,My God!所以就只能选择一个轻量级的编辑工具了,自然首选
"PSPad"
了,主要是它具有"程序代码浏览器",虽然不起眼,但是非常重要,也是选择"PSPad"的最重要的原因,这里不在详细介绍了。
解决编辑的问题后,第二步就是如何来编译?现在的应用程序越来越复杂,经常要使用第三方的框架或者类库,常见的方法就是在环境变量的classpath下面引入所需要的jar包,一来如果代码中引入多个类的话,必然会使得"变量值"变得很臃肿,虽然可以通过分开设置"变量名"的方式来提高
"重用"
(^_^),随着类的增多,依然不能解决,最重要的是
"系统变量"
的列表容易混乱,而且只有当编译时才会使用这些"系统变量"。所以想到了利用Ant来编译Java代码。
关于涉及的Ant的使用,由于应用非常简单,所以这里只根据具体的应用来解释一下。
build.xml
<
project
name
="app"
default
="compile"
basedir
="."
>
<!--
set global properties for this build
-->
<!--
<property file="build.properties"/>
-->
<
property
name
="app.name"
value
="Chapter2"
/>
<
property
name
="app.home"
value
="."
/>
<
property
name
="app.src"
value
="${app.home}/src"
/>
<
property
name
="app.class"
value
="${app.home}/class"
/>
<
property
name
="app.lib"
value
="${app.home}/lib"
/>
<
property
name
="app.deploy"
value
="${app.home}/deploy"
/>
<
path
id
="compile.classpath"
>
<
pathelement
location
="${app.class}"
/>
</
path
>
<
target
name
="init"
>
<
mkdir
dir
="${app.class}"
/>
<
mkdir
dir
="${app.deploy}"
/>
<
copy
todir
="${app.class}"
>
<
fileset
dir
="${app.src}"
>
<
include
name
="*.properties"
/>
<
include
name
="*.xml"
/>
</
fileset
>
</
copy
>
</
target
>
<
target
name
="compile"
depends
="init"
>
<
javac
srcdir
="${app.src}"
destdir
="${app.class}"
debug
="yes"
>
<
classpath
refid
="compile.classpath"
/>
</
javac
>
<
jar
jarfile
="${app.deploy}/${app.name}.jar"
basedir
="${app.class}"
/>
</
target
>
<
target
name
="clean"
>
<!--
Delete the ${build} and ${dist} directory trees
-->
<
delete
dir
="${app.class}"
/>
</
target
>
</
project
>
build.properties
log.home
=
C:/third-lib/log
spring.home
=
C:/third-lib/spring2
.0
<
project
name
="app"
default
="compile"
basedir
="."
>
name属性:指定工程的名字。
basedir属性:指定工程的基路径,如果设置为".",就表示工程的基路径为build.xml文件所在的路径。
default属性:是必须给定的属性,它指定工程默认的target元素,运行ANT时如果不指定target,则使用default属性指定的target。
<
property
file
="build.properties"
/>
可以把它当成一种组件,随时进行添加或删除一组变量和值。
<
property
name
="app.home"
value
="."
/>
通过property任务来设置属性,一个工程可以设置很多属性,属性由名字和值构成。
在其他地方访问属性的语法格式为${属性名},例如:
<
property
name
="app.src"
value
="${app.home}/src"
/>
<
path
id
="compile.classpath"
>
<
pathelement
location
="${app.class}"
/>
<
fileset
dir
="${app.lib}"
>
<
include
name
="*.jar"
/>
</
fileset
>
</
path
>
设置编译Java源程序所需的classpath。classpath中包含lib子目录下的所有jar文件。
<
pathelement
location
="${app.class}"
/>
定位路径
<
fileset
dir
="${app.lib}"
>
<
include
name
="*.jar"
/>
</
fileset
>
dir定位路径
<
include
name
="*.jar"
/>
该目录下所要引入的文件类型,此节点可以根据需要进行任意添加。
<
target
name
="compile"
depends
="init"
>
<
javac
srcdir
="${app.src}"
destdir
="${app.class}"
debug
="yes"
>
<
classpath
refid
="compile.classpath"
/>
</
javac
>
<
jar
jarfile
="${app.deploy}/${app.name}.jar"
basedir
="${app.class}"
/>
</
target
>
name:该任务的名字。
depends:指定在执行本target之前必须完成的target。
<
javac
srcdir
="${app.src}"
destdir
="${app.class}"
debug
="yes"
>
javac任务用于编译Java源程序。
srcdir:Java源程序位于srcdir属性指定的文件。
destdir:
生成的类文件存放在destdir属性指定的文件夹中,其目录结构与Java的package语句一致。(
必须确保源文件的目录结构也与package语句相一致
)
debug:生成调试信息(
缺省值为false
)。
<
jar
jarfile
="${app.deploy}/${app.name}.jar"
basedir
="${app.class}"
/>
jar:打包。
jarfile:目标文件。(包含目录)
basedir:源文件目录。
还有一些在target节点中可以使用的属性。
<
copy
todir
="${app.class}"
>
<
fileset
dir
="${app.src}"
>
<
include
name
="*.properties"
/>
<
include
name
="*.xml"
/>
</
fileset
>
</
copy
>
<
copy
todir
="${app.class}"
>
copy:复制文件。
todir:目标目录。
<
mkdir
dir
="${app.class}"
/>
mkdir:生成目录。
dir:指定要生成的相对路径。
<
echo
message
=""
/>
echo:向控制台输出信息。
message:指定输出的信息内容。
posted on 2009-01-22 16:05
李敏
阅读(2988)
评论(0)
编辑
收藏
所属分类:
应用配置
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
在应用程序中使用proxool连接池
如何使用Ant来编译Java文件以及如何运行?(二)
如何使用Ant来编译Java文件以及如何运行?(一)
Log4j应用两例
Copyright © 李敏
Powered by:
博客园
模板提供:
沪江博客