jsp WAS 6.1显示了Java版本5,但实际上是1.4
我有个奇怪的问题
我已经将我们的Websphere应用服务器配置为运行Java 5。这是我从Java4迁移过来的一个非常古老的应用程序
如果我在jsp页面打印
System.getProperty("java.version")
System.getProperty("java.specification.version")
System.getProperty("java.vm.name")
我明白了
Java版本:1.5.0
JAVA规格版本:1.5
JAVA虚拟机。名称:IBM J9 VM
但是,如果我在jsp中将代码从List
更改为List<Object>
,我会得到以下异常:
The type ArrayList is not generic; it cannot be parameterized with arguments <Object>
JSPG0091E: An error occurred at line: 79 in the file: /jsp/archive/archiveoverview.jsp
JSPG0093E: Generated servlet error from file: /jsp/archive/archiveoverview.jsp
C:\SDP75\runtimes\base_v61\profiles\was61profile1\temp\CR122599Node01\server1\myifEAR\myif.war\jsp\archive\_archiveoverview.java : 199 : Syntax error, parameterized types are only available if source level is 5.0
这怎么可能
# 1 楼答案
用于运行WebSphereApplicationServer的JVM与用于编译服务器内运行的JSP的编译器遵从性级别不同。请参阅此技术说明:Using Java 5 language feature in a JSP targeting WebSphere Application Server v6.1