李敏  
日历
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567
统计
  • 随笔 - 1
  • 文章 - 40
  • 评论 - 4
  • 引用 - 0

导航

常用链接

留言簿(1)

文章分类

文章档案

相册

收藏夹

它山之石

聚贤庄

搜索

  •  

最新评论

 
  由于自己的电脑的内存比较小(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 李敏 阅读(2989) 评论(0)  编辑  收藏 所属分类: 应用配置

只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © 李敏 Powered by: 博客园 模板提供:沪江博客