Eclipse:删除警告,例如“从对象到对象的不必要的强制转换”

时间:2015-06-12 13:05:14

标签: java eclipse jsp maven spring-mvc

我有一个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文件的此类警告。对我而言,这绝对是一种解决方法,而不是一种真正的解决方案。

2 个答案:

答案 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;警告。