Le compilateur JSP d'Oracle est disponible dans votre installation oc4j à ORACLE_HOME/j2ee/home/jsp/bin/ojspc
En supposant que votre chemin de classe est correct à la ligne compand que vous exécuteriez :
ojspc votre.war
La guerre sera mise à jour et placera un jar dans le WEB-INF/lib contenant les JSP pré-compilés. Notez que si vous pré-compilez vos JSP, vous devez également définir MAIN_MODE sur 'JUSTRUN' pour bénéficier des performances supplémentaires de la pré-compilation de vos JSP. Le paramètre JUSTRUN fait ce qu'il implique, le conteneur OC4J ne vérifiera plus les fichiers .jsp mis à jour.
<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>
Une fois que vous êtes à l'aise avec l'appel de ojspc à partir de la ligne de commande, vous pouvez alors commencer à utiliser les tâches ANT fournies par Oracle.
Dans ANT
<oracle:compileJsp file="dist/war/before-${app}war"
verbose="false"
output="dist/war/${app}.war" />
Votre balise de projet doit faire référence aux tâches Oracle :
<project name="your-name" default="compile" basedir="." xmlns:oracle="antlib:oracle">
...
</project>
Mise à jour 22/02/2011 Vous pouvez également travailler directement avec le jar ojspc et éviter d'essayer de configurer la tâche oracle:compileJsp, le code ci-dessous prend un fichier war et pré-compile le JSPS dedans.
<!-- 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>
la défnition jspPreCompileClassPath ressemble à ceci :
<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>