使用 Ant 预编译 JSP 的最佳方法是什么?



我正在尝试找出使用 Ant 预编译将部署到 Oracle 应用程序服务器的 JSP 的最佳方法。 即使我正在部署到Oracle应用程序服务器,我也希望避免使用Oracle版本的Ant。

Oracle 的 JSP 编译器可在 oc4j 安装中找到,网址为 ORACLE_HOME/j2ee/home/jsp/bin/ojspc

假设您的类路径在压缩行上是正确的,您将运行:

OJSPC 您的战争

战争将得到更新,并在包含预编译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任务了。

在蚂蚁内部

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

更新 02.22.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>

我不确定你所说的 Oracle 版本的 Ant 是什么意思,但据我了解,你需要 oracle 的 ant 任务来完成这项工作。本页介绍了如何操作。您将使用从 apache 网站下载的 apache ant,但您需要使用 Oracle 的 Oracle ant 任务库来预编译 Oracle 的 JSP。

相关内容

  • 没有找到相关文章

最新更新