我有一个Spring 4.0.9 MVC应用程序,使用JSP作为视图技术,Maven 3.2.5用于构建管理。我使用Eclipse 4.4.1进行开发,使用Tomcat 7.0.57来运行应用程序。
在JSP中,我想使用EL表达式${pageContext.request.contextPath}
来引用当前的请求路径。但Eclipse给了我错误:
javax.servlet.jsp.JspException cannot be resolved to a type
我添加了以下Maven依赖项:
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
并且错误消失了,但现在我收到了一些新类型的警告。无论我在哪里使用上面的EL表达式,Eclipse都说:
The declared exception IOException is not actually thrown by the method _elExpression7505() from type __2F_myproject_2F_src_2F_main_2F_webapp_2F_WEB_2D_INF_2F_views_2F_page_2E_jsp
无论我在哪里使用Spring的form:label
标签,它都会告诉我:
Unnecessary cast from Object to Object
有人知道如何摆脱这些警告吗?我是否必须使用其他Maven依赖项? (我还包括javax.servlet-api 3.0.1,jstl 1.2等等)
编辑:我不想全局忽略所有Java文件的此类警告。对我而言,这绝对是一种解决方法,而不是一种真正的解决方案。
答案 0 :(得分:2)
幸运的是,Eclipse有一个编辑警告/错误首选项的地方:
Project Properties -> Java Compiler -> Errors/Warnings
有一个很好的搜索框,您可以使用它来追踪您想要编辑的错误/警告设置(例如,您可以查找“不必要的投射”)。
在显示的条目右侧的下拉列表中,您可以选择Ignore
。点击“应用”,重建项目,你应该摆脱你想要的警告。
您必须将以下警告设置为“忽略”:
Unnecessary cast or 'instanceof' operation
Unnecessary declaration of thrown exception
请参阅this help page以供参考。
修改强> 根据Stackoverflow上的this答案,您可以包含检查警告的文件夹。我自己没有测试过,所以这是一个很长的镜头。
答案 1 :(得分:2)
在JSP的顶部,您可以包含以下内容:
<%! @SuppressWarnings("cast") %>
这将防止eclipse将对象&#34;不必要的强制转换对象显示为对象&#34;警告。