Der JSP-Compiler von Oracle ist in Ihrer oc4j-Installation unter ORACLE_HOME/j2ee/home/jsp/bin/ojspc
verfügbarAngenommen, Ihr Klassenpfad ist in der Compand-Zeile korrekt, die Sie ausführen würden:
ojspc your.war
Der Krieg wird aktualisiert und platziert ein JAR in der WEB-INF/lib, das die vorkompilierten JSPs enthält. Beachten Sie, dass Sie beim Vorkompilieren von JSPs auch den MAIN_MODE auf „JUSTRUN“ setzen sollten, um den zusätzlichen Leistungsvorteil der Vorkompilierung Ihrer JSPs zu nutzen. Die JUSTRUN-Einstellung tut, was sie impliziert, der OC4J-Container sucht nicht mehr nach aktualisierten .jsp-Dateien.
<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>
Sobald Sie mit dem Aufrufen von ojspc über die Befehlszeile vertraut sind, können Sie damit beginnen, die von Oracle bereitgestellten ANT-Tasks zu verwenden.
Innerhalb von ANT
<oracle:compileJsp file="dist/war/before-${app}war"
verbose="false"
output="dist/war/${app}.war" />
Ihr Projekt-Tag sollte auf die Oracle-Aufgaben verweisen:
<project name="your-name" default="compile" basedir="." xmlns:oracle="antlib:oracle">
...
</project>
Aktualisierung 22.02.2011 Sie können auch einfach direkt mit dem ojspc-jar arbeiten und vermeiden, den Task oracle:compileJsp zu konfigurieren, der folgende Code nimmt eine WAR-Datei und kompiliert das JSPS darin vor.
<!-- 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>
die jspPreCompileClassPath-Defnition sieht so aus:
<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>