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

String value in Java 1.7 switch statement throwing an error?

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

An error occurred at line: 388 in the jsp file: /historical_weather.jsp

Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted

我正在使用 Java 7.0。我仍然收到此错误。 谢谢

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

这可能是因为您使用的是 Tomcat-7 或更低版本。

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

另一个解决方案,如果你想使用 Tomcat-7,是在 Tomcat-7 中将源级别更改为 1.7,为此你必须为 servlet 添加以下条目 jsp 在 [TOMCAT_HOME]/conf/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 版本相同。