【问题标题】:Force Tomcat 3.3 compiler to compile JSPs as Java 1.5强制 Tomcat 3.3 编译器将 JSP 编译为 Java 1.5
【发布时间】:2011-09-27 16:50:54
【问题描述】:

我有一个 Web 应用程序在一个(非常旧,我知道,但我无法升级)Tomcat 3.3.2 Final servlet 容器上运行,我最近将运行它的 VM 升级到 Java 6。这进展顺利所以然后我尝试在应用程序的 JSP 中使用 Java 5 功能(特别是泛型),但它失败了,不喜欢语法。对于它的价值,我说的是这样简单的东西:

java.util.List<String> users= new java.util.Vector<String>();

进入一个 JSP 并让 Jasper 编译它,但我得到一个编译错误。我知道 Tomcat 使用了正确的 JVM,但它似乎没有使用“-source 1.5”标志或等效标志。有谁知道如何强制我的 Tomcat 编译为 Java 5?

【问题讨论】:

    标签: java jsp tomcat


    【解决方案1】:

    您必须在 servlet 配置文件 (web.xml) 中指定要使用的 VM 版本:

    <init-param>
        <param-name>compilerSourceVM</param-name>
        <param-value>1.5</param-value>
    </init-param>
    <init-param>
        <param-name>compilerTargetVM</param-name>
        <param-value>1.5</param-value>
    </init-param>
    

    【讨论】:

    • 我将该代码 sn-p 放入我的应用程序的 WEB-INF/web.xml 中,就在顶级元素下方(即作为&lt;web-app&gt; 的直接子元素),但它仍然没有帮助。还有其他建议吗?
    • 我无法找到并证实证据,但我怀疑泛型仅在较新版本的 Servlet 规范上受支持。我相信支持 Java 1.5 语言特性的规范的最早版本是 Tomcat 5.5.x 支持的 Servlet 2.4/JSP 2.0。见Apache Tomcat versions
    • 我担心可能是这种情况。感谢您的调查。
    猜你喜欢
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多