GWT 2.7 Super Dev Mode не работает во время тестирования в той же сети

Недавно я начал использовать GWT 2.7 в Eclipse Luna, и я без проблем запускал свои проекты, тестируя их на локальном хосте: 8888, дело в том, что когда я пытался протестировать их (любое из них, даже новое приложение только с автоматически сгенерированным контентом) с другое устройство в той же локальной сети, использующее (компьютер с eclipse ip): 8888, я получаю следующее сообщение:

The page at (ip):8888 says: Couldn't load (app) from Super Dev Mode server at http://(ip):9876. Please make sure this server is ready. Do you want to try again?

Это также происходит, когда я пытаюсь получить доступ к приложению на компьютере с запущенным eclipse с (собственным ip): 8888.

Я проверил эти четыре похожие questions, но на них не было действительно полезных ответов, вот несколько вещей, которые я уже пробовал или обнаружил:

  • Я включил порт 9876 в брандмауэре.
  • Я удалил .nocache.js и .devmode.js, чтобы они снова генерировались.
  • Я заметил, что эта проблема возникает из-за того, что браузер не может получить файл (ip):9876/recompile-requester/(app)
  • Я попытался развернуть приложение в GAE, и оно там тоже не работает, ничего, что происходит в модулях, выполняется код Java (и по какой-то причине я получаю сообщение «Uncaught java.lang.ClassCastException» на консоли Chrome, но это происходит только в развернутой версии, этого не происходит на локальном хосте: 8888 или в (локальный IP): 8888)

Но ничего не сработало, и четыре вопроса, которые я упомянул, - это почти единственные вещи, связанные с этим, которые я нашел, поэтому я действительно не знаю, что еще попробовать.


person Alan Dávalos    schedule 17.06.2015    source источник
comment
Сейчас на мобильном телефоне, поэтому не могу написать полный ответ; найдите devModeUrlWhitelistRegexp на SO (и примечания к выпуску GWT).   -  person Thomas Broyer    schedule 18.06.2015
comment
Спасибо за ответ, я попытался добавить эту строку в свой файл .gwt.xml, но все равно сталкиваюсь с той же проблемой <set-configuration-property name="devModeUrlWhitelistRegexp" value="http://(localhost|127\.0\.0\.1|192\.168\.150\.(\d{1,3}))(:\d+)?/?.*" />   -  person Alan Dávalos    schedule 18.06.2015
comment
Теперь я добавил аргумент -bindAddress 192.168.150.66 в конфигурацию запуска, и теперь он работает только там, но не на локальном хосте, есть ли способ заставить его работать на обоих?   -  person Alan Dávalos    schedule 18.06.2015
comment
Неважно, я изменил -bindAddress на 0.0.0.0, и теперь все работает локально, похоже, проблема, с которой я столкнулся с развернутым приложением, заключается в исключении класса во время initwidget в пользовательском интерфейсе для моего приложения (что по какой-то причине происходит только во время развернут)   -  person Alan Dávalos    schedule 18.06.2015
comment
Вы должны сами ответить на свой вопрос, если/когда сможете.   -  person Thomas Broyer    schedule 19.06.2015


Ответы (1)


Как указал Томас, проблема, с которой я столкнулся, заключалась в том, что, начиная с GWT 2.6, если вы хотите протестировать с других устройств в той же сети, вам нужно внести в белый список адреса, которые вы будете использовать, в каждом файле *.gwt.xml, используя командная строка такая:

<set-configuration-property name="devModeUrlWhitelistRegexp" value="http://(localhost|127\.0\.0\.1|192\.168\.150\.(\d{1,3}))(:\d+)?/?.*" />

Мне также пришлось добавить атрибут -bindAddress 0.0.0.0 в конфигурацию запуска, чтобы он работал.

person Alan Dávalos    schedule 19.06.2015
comment
где вы добавили атрибут -bindAddress 0.0.0.0? - person Gautam; 19.02.2016