我正在尝试将使用Google App Engine和GWT的Eclipse(Mars 2,Mac)项目升级到gwt版本2.8.2,但是出现以下错误:
Exception in thread "main" java.lang.NoSuchMethodError: com.google.gwt.util.regexfilter.RegexFilter: method <init>()V not found
at com.google.gwt.util.regexfilter.WhitelistRegexFilter.<init>(WhitelistRegexFilter.java:21)
at com.google.gwt.dev.jjs.JJSOptionsImpl.<init>(JJSOptionsImpl.java:54)
at com.google.gwt.dev.PrecompileTaskOptionsImpl.<init>(PrecompileTaskOptionsImpl.java:39)
at com.google.gwt.dev.CompilerOptionsImpl.<init>(CompilerOptionsImpl.java:30)
at com.google.gwt.dev.Compiler.main(Compiler.java:108)
我找到了使Java编译器级别和Java Facet达到1.8的解决方案,但是它不起作用。
在我的类路径中,我也有:
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java SE 8 [1.8.0_172]">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
答案 0 :(得分:1)
该错误可能是混合使用不同版本的GWT的症状。从2.7升级到2.8的过程中,您的路径上可能有多个版本的GWT jars?
答案 1 :(得分:1)
问题出在WebContent / lib文件夹中的gwt-servlet.jar文件,因为它来自gwt-2.7.0。尽管我在Order and Export(Java构建路径属性)中尝试了不同的设置,但是直到我从gwt-2.8.1。复制了gwt-servlet.jar文件后,编译器才起作用。