我收到了以下错误:
SEVERE: Servlet.service() for servlet jsp threw exception
javax.el.ELException: The identifier [case] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.
这是由于默认情况下在tomcat 7中SKIP IDENTIFIER CHECK功能是假的(在tomcat 6及以下版本中都是如此)我在正则表达式中使用“case”而 case 是标识符所以它抛出错误。
我找到了以下解决方案: javax.el.ELException: The identifier [return] is not a valid Java identifier
但它对我不起作用,因为我不想在我的代码中进行更改。所以我想要解决方案将tomcat 7配置为SKIP IDENTIFIER CHECK为true。
即使经过大量的谷歌搜索,我也没有办法做到这一点。我正在使用eclipse juno和tomcat 7,请帮我看看。
答案 0 :(得分:17)
终于得到了日食的解决方案。将以下行添加到我指定的位置
-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true
请查看以下一步一步的图像
STEP 1 :
STEP 2 :
STEP 3 :
干杯。 :)
答案 1 :(得分:5)
在CATALINA_HOME / bin中创建一个setenv。[bat | sh]文件(即与所有其他脚本一起)并在该文件中设置系统属性。在Windows上,您将创建setenv.bat,其中包含以下内容:
SET CATALINA_OPTS=%CATALINA_OPTS% -Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true
在Linux上,您将使用以下内容创建setenv.sh:
export CATALINA_OPTS="$CATALINA_OPTS -Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true"
您可以重复这些行(更改系统属性名称)以在同一个setenv。[bat | sh]文件中设置多个系统属性。
答案 2 :(得分:2)
我们还可以在tomcat_home dir / bin下的catalina.sh文件中添加以下命令
CATALINA_OPTS = “ - Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK =真”
答案 3 :(得分:0)
我将目前的应用程序迁移到Tomcat 7时遇到了同样的问题(jsf 1.2 with ice faces 1.8.2)。我通过在下面添加名为setenv.bat的bat文件来解决它 内容。 'SET CATALINA_OPTS =%CATALINA_OPTS%-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK = true'
我已将其包含在TomcatInstallationDirectory / bin中。
它是由catalina.bat文件读取的。在下面的行 'call“%CATALINA_BASE%\ bin \ setenv.bat”'。
因此我的jspx页面被正确呈现
我已经通过tomcat了解了以下文档:
请发布您所做的所有解决方案
答案 4 :(得分:0)
例如,如果您正在使用Eclipse,则必须将以下行添加到Servers文件夹中的catalina.properties,(在Package Explorer中查找它,并选择相应的Tomcat文件夹):
org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true
请记住,Eclipse使用不同的位置来配置而不是CATALINA原始目录。
值得一看Tomcat的资源页面https://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html