在tomcat和ant中使用jikes

80酷酷网    80kuku.com

  jikes 是一个速度远快于 javac 的 java 编译器.

整合 ant 的方法
  1. 设置环境变量 JIKESHOME 为 jikes 的路径
  2. 设置 ANT_OPTS=-Dbuild.compiler=jikes
  3. 将 jikes 路径添加到系统 PATH 中

注意区分大小写.
然后在所有的ant任务就默认使用 jikes 了, 如果你想在单个工程中使用 ant, 就不要添加 ANT_OPTS 环境变量, 只需要修改 build.xml 中 javac 标签中的 compiler 为 jikes, 例如:

<javac destdir="${build.dir}" debug="true" deprecation="false" optimize="false" failonerror="true" compiler="jikes">

jikes 中可以设置如下值:

  • classic ( JDK 1.1 或者 1.2 标准 ) – 也可以使用 javac1.1 和 javac1.2 作为别名.
  • modern ( JDK 1.3/1.4/1.5 标准 ) – javac1.3, javac1.4, javac1.5 可以作为别名.
  • jikes
  • jvc - 微软的那个编译器
  • kjc - kopi 编译器
  • gcj - GCC 中的 gcj 编译器
  • sj - Symantec 的 java 编译器
  • extJavac 根据现有 jvm 决定使用 classic 或者 modern 模式

另外 jikes 中还有几个附加的属性设置:

build.compiler.emacs=false
build.compiler.fulldepend=false
build.compiler.pedantic=false
build.compiler.warnings=true

build.compiler.warnings 这个属性设置最好在 javac 标签中使用 nowarn 属性.
保存为 build.properties 文件, 在 build.xml 中这样调用:

<property file="build.properties"/>

就可以使用 jikes 的附加属性了。

整合 tomcat 的方法:

先如上设置 JIKESHOME 和系统 PATH ,在 web 应用的 web.xml 中添加:

<servlet> 
    <servlet-name> 
    jsp 
    </servlet-name> 
    <servlet-class> 
    org.apache.jasper.servlet.JspServlet 
    </servlet-class> 
    <init-param> 
        <param-name>jspCompilerPlugin</param-name> 
        <param-value>org.apache.jasper.compiler.JikesJavaCompiler</param-value> 
    </init-param> 
    <load-on-startup> 
    -1 
    </load-on-startup> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name> 
        jsp 
        </servlet-name> 
        <url-pattern> 
        *.jsp 
        </url-pattern> 
    </servlet-mapping>

如果想要在所有 WEB 应用中使用 jikes, 则设置环境变量 CATALINA_OPTS=-Dbuild.compiler.emacs=true, 然后打开 ${TOMCAT_HOME}/conf/web.xml, 找到:

<servlet> 
    <servlet-name>jsp</servlet-name> 
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> 
    <init-param> 
        <param-name>fork</param-name> 
        <param-value>false</param-value> 
        </init-param> 
    <init-param> 
    <param-name>xpoweredBy</param-name> 
        <param-value>false</param-value> 
        </init-param> 
    <load-on-startup>3</load-on-startup>
</servlet>

改为:

<servlet> 
    <servlet-name>jsp</servlet-name> 
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> 
    <init-param> 
        <param-name>fork</param-name> 
        <param-value>false</param-value> 
    </init-param> 
    <init-param> 
        <param-name>compiler</param-name> 
        <param-value>jikes</param-value> 
    </init-param> 
    <init-param> 
        <param-name>xpoweredBy</param-name> 
        <param-value>false</param-value> 
    </init-param> 
    <load-on-startup>3</load-on-startup>
</servlet>



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: