【问题标题】:Why WebSphere 6.1 (JDK 1.5 Compliant) compiles my JSPs as JDK 1.4?为什么 WebSphere 6.1(兼容 JDK 1.5)将我的 JSP 编译为 JDK 1.4?
【发布时间】:2010-01-10 08:57:20
【问题描述】:

我们的 Web 应用程序符合 JDK 1.5,并且在 WebSphere 6.1 上成功运行

但是,我们拥有的一些包含 1.5 语法的 Java 代码的 JSP 无法被 WebSphere 编译。

似乎出于某种原因,WebSphere 将 JSP 视为 1.4 兼容并且无法编译。

知道为什么以及如何解决这个问题吗? (停止在 JSP 中编写 Java 是一个答案,还有什么?)

【问题讨论】:

    标签: jsp websphere compilation jdk1.5 websphere-6.1


    【解决方案1】:

    如果您使用的是 RAD,打开 web.xml 转到扩展选项卡并添加新的 jsp 属性 jdkSourceLevel 和值 15(其中没有点)

    它将改变 ibm-web.xml 并且条目看起来像

      <webApp href="WEB-INF/web.xml#WebApp_ID"/>
      <jspAttributes xmi:id="JSPAttribute_1" name="jdkSourceLevel" value="15"/>
    

    【讨论】:

    • 乔恩 - 我很抱歉改变接受的答案,你的很好,但这个似乎更准确
    • 谢谢。我的 EAR 中有多个 WAR,但我只能在其中一个中获得扩展选项卡。这是为什么?我找不到这个&lt;jspAttributes&gt; 写在哪里。当我查看 web.xml 的源代码时,我找不到它
    • shervin,您很可能在 rad 中的 Web 应用程序上没有正确的 websphere facets,请参阅项目属性
    【解决方案2】:

    看看this page of the documentation。它声称有一个“JDK源级别”选项:

    JDK 源代码级别
    指定来源 Java 编译器的级别 编译 JSP Java 源代码。有效的 值为 13、14 和 15。默认值 值为 13,指定源 1.3级。

    【讨论】:

    • @Jon - 这似乎是针对预编译的 JSP,我仍在他们的文档中寻找“即时”设置
    • @Ehrann:很可能只是解释得很糟糕。我认为即使您没有进行预编译,也值得一试。
    猜你喜欢
    • 2011-03-04
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多