Oracle
 sql >> база данни >  >> RDS >> Oracle

Кой е най-добрият начин за предварително компилиране на JSP с помощта на Ant

JSP компилаторът на Oracle е наличен във вашата инсталация на oc4j на адрес ORACLE_HOME/j2ee/home/jsp/bin/ojspc

Ако приемем, че вашият classpath е правилен в compand реда, който бихте изпълнили:

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 Можете също така просто да работите директно с 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>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да получа стойности от една таблица в друга чрез подобни стойности?

  2. където rownum=1 заявка отнема време в Oracle

  3. Не може да се намери Oracle jdbc драйвер

  4. Цел на използване на различни видове PL/SQL колекции в Oracle

  5. Oracle:Вмъкване на данни за тип ред в друга таблица