在客户那边遇到这样的问题:
An error occurred at line: [30] in the generated java file: [/usr/local/SharpView/work/Catalina/localhost/ROOT/org/apache/jsp/jsp/login_jsp.java]
Type mismatch: cannot convert from HashSet<?> to Set<String>An error occurred at line: [30] in the generated java file: [/usr/local/SharpView/work/Catalina/localhost/ROOT/org/apache/jsp/jsp/login_jsp.java]
Cannot instantiate the type HashSet<?>
An error occurred at line: [30] in the generated java file: [/usr/local/SharpView/work/Catalina/localhost/ROOT/org/apache/jsp/jsp/login_jsp.java]
Syntax error on token "<", ? expected after this token
怎么改都不行。后来发现,任何jsp,都是这个错误。
然后仔仔细细检查了下,发现在tomcat/lib下面,有个jasper-jdt.jar文件,这个文件是老版本tomcat才有的,新版本没有了,
而老版本是不支持jdk5的泛型语法的,所以报错。
将这个jar文件删掉,搞定。
后来在版本控制系统上仔细看了下,原来在升级tomcat的时候,只是简简单单的覆盖升级,就OK了。而这个老版本有,新版本却没有的文件,就幸存下来了。。。。。。。