GWT从2.7.0升级。至2.8.2(或2.8.1)无效

时间:2018-10-24 10:21:06

标签: java eclipse gwt

我正在尝试将使用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>

2 个答案:

答案 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文件后,编译器才起作用。