WAS 6.1显示了Java版本5,但它确实是1.4版本

时间:2012-02-22 11:25:09

标签: java jsp websphere websphere-6.1

我有一个奇怪的问题。

我已将Websphere Application Server配置为运行Java 5.它是我从Java 4迁移的一个非常古老的应用程序。

如果我在jsp页面打印

System.getProperty("java.version")
System.getProperty("java.specification.version")
System.getProperty("java.vm.name")

我得到了

Java版本:1.5.0
java.specification.version:1.5
java.vm.name: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 个答案:

答案 0 :(得分:5)

用于运行WebSphere Application Server的JVM与用于编译服务器内运行的JSP的编译器合规性级别不同。请参阅此技术说明:Using Java 5 language feature in a JSP targeting WebSphere Application Server v6.1