Java jbossjsp问题<&燃气轮机;源级别低于1.7时不允许使用运算符
我有jboss eap 6.2.2在我的JDK 7服务器上运行。在我的web应用程序中,我有一个使用jdk7菱形运算符的jspJava jbossjsp问题<&燃气轮机;源级别低于1.7时不允许使用运算符,java,jsp,jboss,Java,Jsp,Jboss,我有jboss eap 6.2.2在我的JDK 7服务器上运行。在我的web应用程序中,我有一个使用jdk7菱形运算符的jsp Map<String, String> menuItems = new LinkedHashMap<>(); Map menuItems=newlinkedhashmap(); 访问此jsp时出现错误: org.apache.jasper.JasperException: JBWEB004062: Unable to compile clas
Map<String, String> menuItems = new LinkedHashMap<>();
Map menuItems=newlinkedhashmap();
访问此jsp时出现错误:
org.apache.jasper.JasperException: JBWEB004062: Unable to compile class for JSP:
JBWEB004060: An error occurred at line: 5 in the jsp file: /WEB-INF/pagecomponents/menu.jsp
'<>' operator is not allowed for source level below 1.7
org.apache.jasper.jaspereException:JBWEB004062:无法为JSP编译类:
JBWEB004060:jsp文件:/WEB-INF/pagecomponents/menu.jsp的第5行出现错误
源级别低于1.7时不允许使用“”运算符
jboss是否使用默认的源代码兼容性,如果是,是否有办法更改它?注意:我已经在EAP 6.1.0上测试过,但相信在6.2.2上应该是相同的 JSP编译由JBoss EAP 6下的web子系统执行 如果查看“jboss:domain:web:1.4”的模式,可以看到编译器的默认值是1.5
...
您可以在standalone-full.xml中对此进行更改。我的本地副本看起来像:
<subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
<configuration>
<jsp-configuration source-vm="1.7" target-vm="1.7"/>
...
...
有一种观点认为,如果您应该尽可能地限制scriptlet代码,那么最好将代码移出JSP您在Eclipse中看到了吗?我在某个地方读到JBoss 7编译JSP的默认JDK版本是1.5。假设这是正确的,JBoss 6.2.2不太可能比这更高。因此,您可能需要在配置中设置一个目标JDK。@radimpe我明白了,正在浏览jboss文档以检查如何更改它。令人惊讶的是,似乎没有人遇到过这个问题——没有从google获得任何好的结果:(@Disco3这是在访问jsp(运行时)时,而不是在eclipse中。是的,在jboss文档中找到了参考:关于scriptlet——我意识到了这一点,但这是一个例外情况。
<subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
<configuration>
<jsp-configuration source-vm="1.7" target-vm="1.7"/>
...