OracleのJSPコンパイラは、Oracle_HOME / j2ee / home / jsp / bin / ojspc
のoc4jインストールで利用できます。実行するコンパンドラインでクラスパスが正しいと仮定します。
ojspc your.war
戦争は更新され、プリコンパイルされたJSPを含むjarがWEB-INF/libに配置されます。 JSPを事前コンパイルする場合は、MAIN_MODEを「JUSTRUN」に設定して、JSPを事前コンパイルすることによるパフォーマンス上の利点をさらに得る必要があることに注意してください。 JUSTRUN設定は、それが意味することを実行します。OC4Jコンテナは、更新された.jspファイルをチェックしなくなります。
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class>
<init-param>
<param-name>main_mode</param-name>
<param-value>justrun</param-value>
</init-param>
</servlet>
コマンドラインからojspcを呼び出すことに慣れたら、Oracleが提供するANTタスクの使用を開始できます。
ANT内
<oracle:compileJsp file="dist/war/before-${app}war"
verbose="false"
output="dist/war/${app}.war" />
プロジェクトタグはオラクルタスクを参照する必要があります:
<project name="your-name" default="compile" basedir="." xmlns:oracle="antlib:oracle">
...
</project>
2011年2月22日更新 ojspc jarを直接操作して、oracle:compileJspタスクを構成しようとしないようにすることもできます。以下のコードはwarファイルを受け取り、その中のJSPSをプリコンパイルします。
<!-- Now Precompile the War File (see entry in <project> tag ) -->
<java jar="${env.ORACLE_HOME}/j2ee/home/ojspc.jar" classpathref="jspPreCompileClassPath" fork="true">
<arg value="-addClasspath"/>
<arg pathref="classpath"/>
<arg line="'${dist}/war/a-war-file.war'"/>
</java>
jspPreCompileClassPath定義は次のようになります:
<path id="jspPreCompileClassPath">
<path location="${env.ORACLE_HOME}/j2ee/home/lib/pcl.jar"/>
<path location="${env.ORACLE_HOME}/j2ee/home/lib/ojsp.jar"/>
<path location="${env.ORACLE_HOME}/j2ee/home/lib/oc4j-internal.jar"/>
<path location="${env.ORACLE_HOME}/j2ee/home/lib/servlet.jar"/>
<path location="${env.ORACLE_HOME}/j2ee/home/lib/commons-el.jar"/>
<path location="${env.ORACLE_HOME}/j2ee/home/lib/bcel.jar"/>
<path location="${env.ORACLE_HOME}/lib/xmlparserv2.jar"/>
<path location="${env.ORACLE_HOME}/j2ee/home/lib/oc4j-schemas.jar"/>
<path location="${env.ORACLE_HOME}/j2ee/home/jsp/lib/taglib/ojsputil.jar"/>
</path>