列出JSP文件中的所有Java错误

列出JSP文件中的所有Java错误,java,eclipse,jsp,netbeans,Java,Eclipse,Jsp,Netbeans,我在一个大型web项目中使用了旧的Eclipse Helios和旧的Tomcat 5.5。更新到Tomcat 6后,此代码停止工作: short foo = 3; Integer bar = foo; 显然,根据Java语言规范[1],这是无效代码,旧的Eclipse编译器中有一个bug,因此没有报告它。新的Eclipse开普勒将其报告为错误 我不太清楚为什么它停止使用新的Tomcat,因为它使用的是与旧的Tomcat相同的Java编译器,但是代码无效,我想在整个项目中修复它 首先,我尝试在新

我在一个大型web项目中使用了旧的Eclipse Helios和旧的Tomcat 5.5。更新到Tomcat 6后,此代码停止工作:

short foo = 3;
Integer bar = foo;
显然,根据Java语言规范[1],这是无效代码,旧的Eclipse编译器中有一个bug,因此没有报告它。新的Eclipse开普勒将其报告为错误

我不太清楚为什么它停止使用新的Tomcat,因为它使用的是与旧的Tomcat相同的Java编译器,但是代码无效,我想在整个项目中修复它

首先,我尝试在新的Eclipse中验证整个项目,以便它列出包含此错误的所有.jsp文件。然而,Eclipse中的这种验证似乎工作得不太好,因为有时它会检测到一个文件中存在的几个错误,有时会在10秒钟后报告同一个文件中没有任何错误而不做任何更改

我尝试的下一件事是将项目导入NetBeans 7.4,并尝试在此处列出这些错误。当我打开一个有错误的文件时,它会检测到:不兼容的类型:short无法转换为整数。但是,当我在Action Items列表中列出所有错误时,我无法找到这些错误,尽管我将过滤器设置为包含编译器错误

我原以为在一个项目中列出所有JSP文件中的所有Java错误会很容易,但事实证明并非如此。我怎么做


[1]

这个问题的解决方案是编译项目中的所有JSP文件,即为它们生成Java文件,然后检查生成文件的错误

NetBeans可以选择预编译所有JSP文件,但这对我来说不起作用,因为它在命中第一个Java文件并出现错误后就会停止。也许有一种方法可以避免这种情况

另一个解决方案可能是配置ApacheMaven来构建整个项目,但我没有尝试,因为一位同事提出了一个很好的quick-n-dirty解决方案:

为项目中的每个JSP文件生成一个wget请求,并运行所有这些请求。wget不能真正访问页面并不重要,因为它没有登录,它只是“接触”页面并强制Tomcat生成Java文件

类似于linux/cygwin的内容:

find jsp -name '*.jsp' -printf 'http://localhost:8080/App/%p\n' > tmp/urls
wget -q --proxy=off --spider -i tmp/urls

您使用的是哪种JDK?在我试图列出NetBeans中所有错误的开发机器上,我使用的是jdk1.7.0-45 Eclipse中的项目是什么?这里几乎所有关于JSP的问题都包含JSP中的Java代码脚本。几乎每个答案都告诉我们不要在JSP中使用Java代码。不要在JSP中使用Java代码。使用jspel、JSTL和其他标记。将Java代码留在控制器中。