2010-01-10 63 views
1

我们的Web应用程序符合JDK 1.5,并在WebSphere 6.1上成功运行。012但是,我们拥有的包含1.5语法Java代码的JSP无法通过WebSphere进行编译。为什么WebSphere 6.1(JDK 1.5兼容)将我的JSP编译为JDK 1.4?

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

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

回答

6

如果你正在使用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"/> 
+0

乔恩 - 我的更改接受的答案appologies,你很棒,但这似乎更准确 – 2011-01-13 02:48:47

+0

感谢您。 我在我的EAR中有多个WAR,但我只能在其中一个中获得扩展选项卡。这是为什么?我无法找到这个''写在哪里。当我查看web.xml的源代码时,我没有发现它shervin – 2012-02-22 13:08:30

+0

,您很可能没有在您的web应用程序中使用正确的websphere方面,请参阅项目属性 – 2012-03-07 00:18:31

3

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

JDK源级别
指定在Java编译器编译 JSP Java源代码的源 水平。有效的 值是13,14和15.默认 值是13,它指定源 级别1.3。

+0

@乔恩 - 这似乎是预编译JSP时,我还在寻找他们的文档的“对飞”设置 – 2010-01-10 09:21:31

+0

@Ehrann:这可能只是不好解释。我认为即使你不进行预编译,也值得一试。 – 2010-01-10 09:42:26

+2

@Jon - WebSphere文档?不好解释?没有办法...;) – 2010-01-10 10:22:53