GWT и ReflectionToStringBuilder.toString () - PullRequest
0 голосов
/ 30 марта 2012

У меня проблема с компилятором GWT.Когда я добавляю следующий метод в свой класс сущностей:

@Override
public String toString() {
   return ReflectionToStringBuilder.toString(this, ToStringStyle.SHORT_PREFIX_STYLE);
}

, компилятор выдавал мне следующую ошибку:

ERROR: Deferred binding failed for 'com.mvp4g.client.Mvp4gModule'; expect subsequent failures
ERROR: Unable to load module entry point class plaut.wimc.avl.admin.client.Admin (see associated exception for details)
java.lang.RuntimeException: Deferred binding failed for 'com.mvp4g.client.Mvp4gModule' (did you forget to inherit a required module?)

Когда я удаляю его, все работает нормально.Я не понимаю, почему дал мне компилятор такую ​​ошибку.Этот toString метод используется в roo IDT , и такой ошибки нет.

Ответы [ 2 ]

1 голос
/ 30 марта 2012

Весь код Java, используемый на стороне клиента, должен иметь возможность компилироваться в JavaScript.ReflectionToStringBuilder использует отражение, которое недоступно в JavaScript, поэтому этот метод нельзя использовать в коде на стороне клиента.

Эта ошибка компиляции относится к тому факту, что весь код Java должен быть доступен для сборщика GWTчерез path параметры в файлах модуля GWT и должны быть доступны в исходном формате.В этом случае файл модуля GWT отсутствует, поэтому возникает ошибка, поскольку компилятор не может найти источники для метода ReflectionToStringBuilder.Хотя вы можете создать такой файл для этого конкретного случая и добавить источники, он не будет работать, так как отражение не будет работать.

0 голосов
/ 30 марта 2012

Похоже, проблема в ReflectionToStringBuilder. Это модуль GWT? Если да, то необходимо добавить унаследованный модуль в * .gwt.xml

вашего проекта.
...