GWT / GAE (Java): код строится с использованием javac, но затем завершается ошибкой при запуске в ant devmode - PullRequest
0 голосов
/ 15 января 2012

Я создаю веб-приложение, используя GWT и GAE / Java.Я получал onFailure (Throwable перехватил) в одном из моих вызовов RPC, поэтому я решил напечатать его.

Я написал некоторый код для вызова catch.printStackTrace () в PrintWriter, обернутом вокруг CharArrayPrintStream,который я тогда собирался отправить в журналы.Это составлено с муравьем Javac.Однако когда я запустил его в ant devmode, я получил ошибку, что Throwable.printStackTrace () не может принять PrintWriter и вместо этого нуждается в PrintStream.Это очень странно, так как (1) ant javac скомпилирован и (2) API для Throwable говорит, что вы можете вызвать printStackTrace () и передать ему PrintStream.

Единственное, что я могу думать, это то, что должно быть какое-тостранное несовпадение версий между версиями библиотеки, с которыми работают devmode и javac (не используется для чтения файлов ant, но я не вижу очевидной проблемы), или компилятор java-to-javascript неправильно выполняет перегрузку.

Итак, чтобы обойти это, я пошел в старую школу и использовал PrintStream, намотанный на ByteArrayOutputStream.Опять же, это скомпилировано с использованием цели ant javac.На этот раз я получил четную ошибку:

00:00:46.700  [ERROR] Line 72: The method close() is undefined for the type PrintStream

То же самое происходит для flush ().Я не могу поверить, что то, что называется «Stream», не имеет методов close () или flush ().Что здесь происходит?


Я использую последнюю версию OS X 10.6.8 (x86).Мой браузер - Chrome: 16.0.912.63 (Официальная сборка 113337) $ java -version java версия "1.6.0_29" Java (TM) Среда выполнения SE (сборка 1.6.0_29-b11-402-10M3527) Java HotSpot (TM) 64-Виртуальный сервер Bit Server (сборка 20.4-b02-402, смешанный режим) Я использую gwt-2.4.0.

1 Ответ

2 голосов
/ 15 января 2012

См. http://code.google.com/webtoolkit/doc/latest/RefJreEmulation.html#Package_java_io

Если вы хотите регистрировать ошибки на вашем сервере, используйте http://code.google.com/webtoolkit/doc/latest/DevGuideLogging.html#Remote_Logging

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...