2012-10-26 57 views
1

我想实现这个例子:在我的GWT应用http://zenoconsulting.wikidot.com/blog:17但是当我尝试编译项目,我有此错误:GWT孵化器PagingScrollTable编译错误

Compiling module com.myapp.security.GwtSpringSecurityProject 
    Validating newly compiled units 
     Ignored 2 units with compilation errors in first pass. 
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors. 
    Scanning for additional dependencies: jar:file:/C:/_work/Eclipse/MyApp/war/WEB-INF/lib/gwt-incubator-20101117-r1766.jar!/com/google/gwt/gen2/table/client/AbstractScrollTable.java 
     Computing all possible rebind results for 'com.google.gwt.gen2.table.client.AbstractScrollTable.Impl' 
     Rebinding com.google.gwt.gen2.table.client.AbstractScrollTable.Impl 
      Could not find an exact match rule. Using 'closest' rule <replace-with class='com.google.gwt.gen2.table.client.AbstractScrollTable.ImplIE6'/> based on fall back values. You may need to implement a specific binding in case the fall back behavior does not replace the missing binding 
    Scanning for additional dependencies: jar:file:/C:/_work/Eclipse/MyApp/war/WEB-INF/lib/gwt-incubator-20101117-r1766.jar!/com/google/gwt/gen2/table/client/FixedWidthTableImpl.java 
     Computing all possible rebind results for 'com.google.gwt.gen2.table.client.FixedWidthTableImpl.Impl' 
     Rebinding com.google.gwt.gen2.table.client.FixedWidthTableImpl.Impl 
      Could not find an exact match rule. Using 'closest' rule <replace-with class='com.google.gwt.gen2.table.client.FixedWidthTableImpl.ImplIE8'/> based on fall back values. You may need to implement a specific binding in case the fall back behavior does not replace the missing binding 
    [ERROR] An internal compiler exception occurred 
com.google.gwt.dev.jjs.InternalCompilerException: Failed to get JNode 
    at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:140) 
    at com.google.gwt.dev.jjs.impl.TypeMap.internalGet(TypeMap.java:242) 
    at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:138) 
    at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:71) 
    at com.google.gwt.dev.jjs.impl.GenerateJavaAST$JavaASTGenerationVisitor.processExpression(GenerateJavaAST.java:1144) 
    at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at com.google.gwt.dev.jjs.impl.GenerateJavaAST$JavaASTGenerationVisitor.dispatch(GenerateJavaAST.java:577) 
    at com.google.gwt.dev.jjs.impl.GenerateJavaAST$JavaASTGenerationVisitor.dispProcessExpression(GenerateJavaAST.java:603) 
    at com.google.gwt.dev.jjs.impl.GenerateJavaAST$JavaASTGenerationVisitor.processStatement(GenerateJavaAST.java:1771) 
    at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at com.google.gwt.dev.jjs.impl.GenerateJavaAST$JavaASTGenerationVisitor.dispatch(GenerateJavaAST.java:577) 
    at com.google.gwt.dev.jjs.impl.GenerateJavaAST$JavaASTGenerationVisitor.dispProcessStatement(GenerateJavaAST.java:638) 
    at com.google.gwt.dev.jjs.impl.GenerateJavaAST$JavaASTGenerationVisitor.processStatements(GenerateJavaAST.java:1846) 
    at com.google.gwt.dev.jjs.impl.GenerateJavaAST$JavaASTGenerationVisitor.processMethod(GenerateJavaAST.java:1513) 
    at com.google.gwt.dev.jjs.impl.GenerateJavaAST$JavaASTGenerationVisitor.processType(GenerateJavaAST.java:501) 
    at com.google.gwt.dev.jjs.impl.GenerateJavaAST.exec(GenerateJavaAST.java:2958) 
    at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:608) 
    at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:33) 
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:284) 
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:233) 
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:145) 
    at com.google.gwt.dev.Compiler.run(Compiler.java:232) 
    at com.google.gwt.dev.Compiler.run(Compiler.java:198) 
    at com.google.gwt.dev.Compiler$1.run(Compiler.java:170) 
    at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88) 
    at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82) 
    at com.google.gwt.dev.Compiler.main(Compiler.java:177) 
     [ERROR] <no source info>: public abstract class java.text.DateFormat 
    extends java.text.Format 
/* fields */ 
protected [unresolved] Unresolved type java.util.Calendar calendar 
protected [unresolved] Unresolved type java.text.NumberFormat numberFormat 
public static final [unresolved] int ERA_FIELD 
public static final [unresolved] int YEAR_FIELD 
public static final [unresolved] int MONTH_FIELD 
public static final [unresolved] int DATE_FIELD 
public static final [unresolved] int HOUR_OF_DAY1_FIELD 
public static final [unresolved] int HOUR_OF_DAY0_FIELD 
public static final [unresolved] int MINUTE_FIELD 
public static final [unresolved] int SECOND_FIELD 
public static final [unresolved] int MILLISECOND_FIELD 
public static final [unresolved] int DAY_OF_WEEK_FIELD 
public static final [unresolved] int DAY_OF_YEAR_FIELD 
public static final [unresolved] int DAY_OF_WEEK_IN_MONTH_FIELD 
public static final [unresolved] int WEEK_OF_YEAR_FIELD 
public static final [unresolved] int WEEK_OF_MONTH_FIELD 
public static final [unresolved] int AM_PM_FIELD 
public static final [unresolved] int HOUR1_FIELD 
public static final [unresolved] int HOUR0_FIELD 
public static final [unresolved] int TIMEZONE_FIELD 
private static final [unresolved] long serialVersionUID 
public static final [unresolved] int FULL 
public static final [unresolved] int LONG 
public static final [unresolved] int MEDIUM 
public static final [unresolved] int SHORT 
public static final [unresolved] int DEFAULT 
/* methods */ 
[unresolved] protected void <init>() 
[unresolved] public java.lang.Object clone() 
[unresolved] public boolean equals(java.lang.Object) 
public final java.lang.String format(java.util.Date) 
public final java.lang.StringBuffer format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition) 
public abstract java.lang.StringBuffer format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition) 
[unresolved] private static java.text.DateFormat get(int, int, int, Unresolved type java.util.Locale) 
[unresolved] public static Unresolved type java.util.Locale[] getAvailableLocales() 
[unresolved] public Unresolved type java.util.Calendar getCalendar() 
[unresolved] public static final java.text.DateFormat getDateInstance() 
[unresolved] public static final java.text.DateFormat getDateInstance(int) 
[unresolved] public static final java.text.DateFormat getDateInstance(int, Unresolved type java.util.Locale) 
[unresolved] public static final java.text.DateFormat getDateTimeInstance() 
[unresolved] public static final java.text.DateFormat getDateTimeInstance(int, int) 
[unresolved] public static final java.text.DateFormat getDateTimeInstance(int, int, Unresolved type java.util.Locale) 
[unresolved] public static final java.text.DateFormat getInstance() 
[unresolved] public Unresolved type java.text.NumberFormat getNumberFormat() 
[unresolved] public static final java.text.DateFormat getTimeInstance() 
[unresolved] public static final java.text.DateFormat getTimeInstance(int) 
[unresolved] public static final java.text.DateFormat getTimeInstance(int, Unresolved type java.util.Locale) 
[unresolved] public Unresolved type java.util.TimeZone getTimeZone() 
[unresolved] public int hashCode() 
[unresolved] public boolean isLenient() 
[unresolved] public java.util.Date parse(java.lang.String) throws java.text.ParseException 
[unresolved] public abstract java.util.Date parse(java.lang.String, Unresolved type java.text.ParsePosition) 
[unresolved] public java.lang.Object parseObject(java.lang.String, Unresolved type java.text.ParsePosition) 
[unresolved] public void setCalendar(Unresolved type java.util.Calendar) 
[unresolved] public void setLenient(boolean) 
[unresolved] public void setNumberFormat(Unresolved type java.text.NumberFormat) 
[unresolved] public void setTimeZone(Unresolved type java.util.TimeZone) 
/* members */ 
Unresolved type java.text.DateFormat$DateFormatGetter 
Unresolved type java.text.DateFormat$Field 



     org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding 
     [ERROR] at PsTable.java(351): new SimpleDateFormat("MM/dd/yyyy").format(rowValue.getDate()) 
     org.eclipse.jdt.internal.compiler.ast.MessageSend 
     [ERROR] at PsTable.java(351): return new SimpleDateFormat("MM/dd/yyyy").format(rowValue.getDate()); 
     org.eclipse.jdt.internal.compiler.ast.ReturnStatement 
     [ERROR] at PsTable.java(350): public String getCellValue(Message rowValue); 

     com.google.gwt.dev.jjs.ast.JMethod 
     [ERROR] at PsTable.java(348): final class PsTable$DateColumnDefinition extends AbstractColumnDefinition 
     com.google.gwt.dev.jjs.ast.JClassType 

我已经简单的添加这个类的例如在我的应用程序中,我在我的gwt客户端类中创建了一个新的PsTable。

回答

2

GWT孵化器的最新版本只与GWT 2.1兼容,而且显然使用GWT 2.3或更高版本(在2.3中添加了Could not find an exact match rule. Using 'closest' rule…以支持IE9)。除此之外,GWT 2.2会破坏生成器的二进制兼容性(它们必须重新编译为GWT 2.2或更高版本),并且您有很好的失败原因。

从GWT孵化器主页,您应该能够用GWT 2.4的DataGrid代替PaagingScrollTable使用。无可否认,这是一种非常不同的方法(单元格与小部件),但它是现在走的路:GWT孵化器已被弃用(出于很好的理由),你真的不应该使用它,如果你的项目使用它, 不要开始在新项目中使用它。


顺便说一句,你的文章链接为3岁。你不能指望这样古老的代码片段有什么好处。