Java 1.7中的字符串值switch语句抛出错误?

时间:2016-04-04 20:11:51

标签: java jsp tomcat7

任何人都知道这个错误是什么意思:

  

jsp文件中的行:388发生错误:/historical_weather.jsp

     

如果源级别低于1.7,则无法为String类型的值打开。只允许使用可转换的int值或枚举变量

我正在使用Java 7.0。我仍然得到这个错误。 感谢

2 个答案:

答案 0 :(得分:6)

这可能会让您高兴,因为您使用的是Tomcat-7或更低版​​本。

Tomcat-7使用源级别1.6来编译JSP Ref。要解决此问题,您可以使用Tomcat-8,因为Tomcat-8将源级别用作JSP的1.7。

如果你想使用Tomcat-7,另一个解决方案是在Tomcat-7中将源级别更改为1.7,因为你必须在[TOMCAT_HOME] / conf /中为servlet jsp添加以下条目。 web.xml:

<init-param>
    <param-name>compilerSourceVM</param-name>
    <param-value>1.7</param-value>
</init-param>
<init-param>
    <param-name>compilerTargetVM</param-name>
    <param-value>1.7</param-value>
</init-param>

更多详情:how-to-set-tomcat-7-source-level-to.html

注意:我只讨论Tomcat为其生成Java代码并编译它们的JSP。对于其他Java类,源级别与JDK版本相同。

答案 1 :(得分:2)

检查项目属性(无论安装的JDK如何,您始终可以在每个IDE上设置较低的编译级别)或Maven构建配置。