JSP-компилятор Oracle доступен в вашей oc4j-установке по адресу ORACLE_HOME / j2ee / home / jsp / bin / ojspc
Предполагая, что ваш путь к классам верен в строке компандирования, которую вы запустите:
ojspc your.war
Война будет обновлена и поместит банку в WEB-INF / lib, содержащую предварительно скомпилированные JSP. Обратите внимание, что если вы предварительно компилируете 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 из командной строки, вы можете начать использовать задачи ANT, предоставляемые Oracle.
В пределах 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>
Обновление 22.02.2011
Вы также можете просто работать с jar ojspc напрямую и избегать попыток настроить задачу 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>