zoukankan      html  css  js  c++  java
  • (转)ANT与RTS的结合

    ANT与RTS结合
     
    用用户tn_prodpre登陆10.3.72.157,vi .bash_profile,设置如下环境变量:
    ANT_HOME=/home/tn_prodpre/apache-ant-1.6.5
    JAVA_HOME=/usr/local/j2sdk1.4.2_09
    PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH:$HOME/bin
     
    在项目很大的情况下,javac可能报错: java.lang.OutOfMemoryError,需要设置如下行
    fork="yes"
    executable="/usr/local/j2sdk1.4.2_09/bin/javac"
    memoryInitialSize="120m"
    memoryMaximumSize="300m"
     
    当在一个操作系统,编译另一个操作系统的java时,可能会有character问题,设置操作系统:
    #export LANG=zh_CN.GB2312
    #export LANG=en_US.ISO8859-1
    export LANG=en_US
     
    关于Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher的解决:
    这是linux系统默认安装了一些ant的lib,修改 /etc/ant.conf中 ANT_HOME=/usr/share/ant 为正确安装ant的地址
     
    ant中如何读取操作系统的环境变量?
      <property environment="env"/>
      <property name="RTSNO" value="${env.RTS_NO}"/>
      <echo message="${RTSNO}"/>
    RTS_NO是之前在shell中设置的,如此则ant可以和操作系统的环境变量交互。
     
    对于自写task,定义时,需要加上classpath属性:
      <target name="RTS">
     <taskdef name="rtstask" classname="RTSTask" classpath="."/>
        <rtstask rtsNo="${RTSNO}"/>
      </target>
     
    自写task中改写build.xml中的property值很简单:
    getProject().setProperty("cvsFiles", files.toString());
     
    全局变量的值无法在多个target间共享:
    如果两个target A、B是串行调用(非嵌套调用),则当A修改了一个全局的property值时,这个修改只能在A的区间段生效,到了B则看到的是老的结果。解决方法是在A中调用B。
     
    在用javac的task时,发现class基本都不编译,ant会提示:
    XXX.java omitted as XXX.class is up to date.
    初始时以为是这个class存在于classpath的缘故,因为把它们从classes目录中删除就可以编译。于是费尽心机想把这几个待编译的class从classpath中剔除,用fileset excludes,后来发现:ant它又能怎么处理这种classpath呢?
    最终发现,是日期戳的问题。当java源文件比类文件新时,javac会编译该源文件从而得到一个更新的class文件;若class反而比java新,则不会去编译。
    其实想想,这可是jdk的基础问题,做了这多年java开发,还没弄清这个道理,汗~
  • 相关阅读:
    WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo
    Android---App Widget(五)
    【转】VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)
    【转】MFC中用CFile读取和写入文件2
    【转】VC中获取文件的相对路径和绝对路径
    【转】VC中对文件的读写
    【转】VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)
    【转】CString类型互转 int
    【转】Visual Studio快捷键汇总
    【转】Ubuntu下配置支持Windows访问的samba共享
  • 原文地址:https://www.cnblogs.com/greywolf/p/3037119.html
Copyright © 2011-2022 走看看