在tomcat和ant中使用jikes

來源:互聯網
上載者:User
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>



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。