¿Cuál es la mejor manera de precompilar JSP usando Ant

votos
5

Estoy tratando de descubrir la mejor manera de usar Ant para precompilar JSPs que se implementarán en un servidor de aplicaciones Oracle. Aunque estoy implementando en un servidor de aplicaciones de Oracle, me gustaría evitar el uso de la versión de Ant de Oracle.

Publicado el 23/10/2008 a las 13:50
por usuario
En otros idiomas...                            


2 respuestas

votos
2

No estoy seguro de a qué se refiere con la versión de Ant de Oracle pero, según tengo entendido, necesitará la tarea de la hormiga del oráculo para hacer este trabajo. Esta página explica cómo hacerlo. Utilizará la hormiga apache que descarga desde el sitio web de apache, pero necesita usar la biblioteca de tareas de Oracle y Oracle para pre compilar las JSP para Oracle.

Respondida el 23/10/2008 a las 14:12
fuente por usuario

votos
7

El compilador JSP de Oracle está disponible en su instalación de oc4j en ORACLE_HOME / j2ee / home / jsp / bin / ojspc

Suponiendo que tu ruta de clase es correcta en la línea compand que ejecutarías:

ojspc your.war

La guerra se actualizará y colocará un jar en el WEB-INF / lib que contiene las JSP precompiladas. Tenga en cuenta que si sus JSP de precompilación también deben establecer MAIN_MODE en 'JUSTRUN' para obtener el beneficio de rendimiento adicional de precompilar sus JSP. La configuración JUSTRUN hace lo que implica, el contenedor OC4J ya no buscará archivos .jsp actualizados.

<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>

Una vez que esté cómodo con la llamada a ojspc desde la línea de comando, puede comenzar a usar las tareas de ANT proporcionadas por Oracle.

Dentro de ANT

<oracle:compileJsp file="dist/war/before-${app}war"
        verbose="false"
        output="dist/war/${app}.war" />

Su etiqueta de proyecto debe hacer referencia a las tareas de Oracle:

<project name="your-name" default="compile" basedir="."  xmlns:oracle="antlib:oracle">
...
</project>

Actualización 02.22.2011 También puede simplemente trabajar con el jar ojspc directamente y evitar intentar configurar el oráculo: compileJsp Task, el código siguiente toma un archivo war y precompila el JSPS en él.

 <!-- 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 defnición jspPreCompileClassPath tiene este aspecto:

  <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>
Respondida el 25/10/2008 a las 00:33
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more