2012-03-23 2 views
0

Я получаю много ошибок компиляции gwt, как показано ниже в моем проекте playN. Может ли кто-нибудь рассказать мне об этом? это проекты maven.Как решить, ошибка компиляции Gwt: относится к отсутствующему типу «имя класса» в моем проекте playN?

Код ошибки: 0/Google/GWT/входе/сервера/RemoteLoggingServiceUtil.java»

 Line 69: The method logRecordFromJson(String) from the type JsonLogRecordServerUtil refers to the missing type JSONException 

    Errors in 'jar:file:/home/user/.m2/repository/com/google/gwt/gwt-user/2.4.0/gwt-user-2.4.0.jar!/com/google/gwt/logging/server/StackTraceDeobfuscator.java' 

    Line 53: No source code is available for type java.util.regex.Pattern; did you forget to inherit a required module? 

    Line 60: No source code is available for type java.io.File; did you forget to inherit a required module? 

    Line 176: No source code is available for type java.io.InputStream; did you forget to inherit a required module? 

    Line 180: No source code is available for type java.io.FileInputStream; did you forget to inherit a required module? 

    Line 206: No source code is available for type java.io.BufferedReader; did you forget to inherit a required module? 

    Line 207: No source code is available for type java.io.InputStreamReader; did you forget to inherit a required module? 

    Line 239: No source code is available for type java.util.regex.Matcher; did you forget to inherit a required module? 

    Errors in 'jar:file:/home/user/.m2/repository/com/google/gwt/gwt-user/2.4.0/gwt-user-2.4.0.jar!/com/google/gwt/place/rebind/PlaceHistoryGeneratorContext.java' 

    Line 196: The method format(String, String, String) is undefined for the type String 

    Line 202: The method format(String, String, String, String) is undefined for the type String 

    Line 212: The method format(String, String, String, String) is undefined for the type String 

    Line 285: The method getCanonicalName() is undefined for the type Class<capture#2-of ? extends PlaceTokenizer<?>> 

    Line 289: The method getSimpleName() is undefined for the type Class<WithTokenizers> 

    Line 290: The method getCanonicalName() is undefined for the type Class<capture#4-of ? extends PlaceTokenizer<?>> 

]

ответ

2

Не весь пакет java.io поддерживается GWT.

См JRE Emulation Reference подробности

Это не имеет смысла эмулировать файлы/поток в браузере.

+0

но StackTraceDeobfuscator.java не мой класс. свой класс gwt? – Rockcollins

+0

'com.google.gwt.logging.server.StackTraceDeobfuscator' - поэтому он не включен в код клиента. Все классы из пакета * .server не включены. –

+0

@ Rockcollins да, это так. Вы случайно использовали его в клиентском коде? – ftr

2

Вы используете стандартные классы Java, такие как java.util.regex.Pattern, которые не включены в GWT. См. the JRE-Emulation reference для получения информации о том, какие стандартные классы разрешены для использования в GWT.

Редактировать: если этот код действительно встречается в обычном классе на стороне сервера, то определение GWT-модуля неверно и включает код на стороне сервера.

+0

почему он говорит, ошибки в «jar: файл: /home/user/.m2/repository/com/google/gwt/gwt-user/2.4.0/gwt-user-2.4.0.jar!/Com/google /gwt/logging/server/StackTraceDeobfuscator.java. Разве это не класс gwt? – Rockcollins

+0

Что делать, чтобы решить эту проблему? – Rockcollins

+1

Вы можете узнать, импортирует ли какой-либо из ваших клиентских кодов какой-либо класс, который не должен использоваться на клиенте (например, он содержит 'сервер' в своем пакете). – ftr

0

Проблема была в том, что я использовал некоторые неподдерживаемые классы Java.

Но было странно, что я не использовал его напрямую. Я наследовал классы чистого GWT-проекта, которые имеют те же объявления пакетов стандартного Java-проекта. Поэтому, хотя я не использовал Java-классы, которые GWT не поддерживает, он также компилировал все коды из моего проекта Java.

[resolved] Я просто сделал имена пакетов этих двух проектов разными (проект GWT, который я наследовал, и стандартный проект Java).

Кажется, что это будет полезно для других.

Смежные вопросы