5

Ant を使用して、Oracle アプリケーション サーバーにデプロイされる JSP をプリコンパイルする最良の方法を見つけようとしています。Oracle アプリケーション サーバーにデプロイしていますが、Oracle のバージョンの Ant の使用は避けたいと考えています。

4

2 に答える 2

7

OracleのJSPコンパイラは、ORACLE_HOME / j2ee / home / jsp / bin/ojspcのoc4jインストールで利用できます。

クラスパスが実行するコンパンドラインで正しいと仮定すると、次のようになります。

ojspc your.war

戦争は更新され、プリコンパイルされたJSPを含むWEB-INF/libにjarが配置されます。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を呼び出すことに慣れたら、Oracleが提供するANTタスクの使用を開始できます。

ANT内

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

プロジェクトタグは、oracleタスクを参照する必要があります。

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

更新02.22.2011ojspcjar を直接操作して、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>
于 2008-10-25T01:33:10.287 に答える
2

OracleのバージョンのAntが何を意味するのかはわかりませんが、私が理解しているように、この作業を行うにはOracleのAntタスクが必要になります。このページでは、その方法について説明します。apacheWebサイトからダウンロードしたapacheantを使用しますが、Oracle用のJSPをプリコンパイルするには、OracleのOracleantタスクライブラリを使用する必要があります。

于 2008-10-23T15:12:13.067 に答える