2011-12-16 1 views
3

Я могу создать и запустить простое приложение GWT, создав все файлы самостоятельно. Он отлично работает, и я могу видеть правильный дисплей.Почему изменение «module -> rename to» в файле .gwt.xml дает ошибку

Я попытался сыграть вокруг кода, чтобы улучшить свои знания. Я заметил, что, как только я запустил приложение, скажу , переименуйте модуль в значение «testhistory« он отлично работает.

Но после того, что, если я изменю переименовать «значения s сказать„historytokentest“приложение дает ошибку, как«Не удается найти „testhistory.gwt.xml“ на вашем пути к классам, может быть опечатка , или, может быть, вы забыли включить запись о методе classpath для источника? "

Если я изменю переименовать значение «s назад к„testhistory“снова работает нормально.

Может ли кто-нибудь выяснить, существует ли какая-либо связь между имя класса entryPoint,. gwt.xml имя файла, модуль переименован в значение & также название проекта. Могут ли они быть изменены в будущем? (Я знаю, что это нехорошо, но просто убираю сомнение)

ответ

8

Если вы изменили rename-to, это изменит имя выходных файлов, поэтому вам нужно обновить тег на странице хоста HTML (от src="testhistory/testhistory.nocache.js" - src="historytokentest/historytokentest.nocache.js"). Вам не нужно ничего менять.

+0

Это был хороший ответ. Благодаря! – abhihello123

0

Все может быть изменено. Если вы измените проект, проблем не возникнет.

Если вы хотите изменить/переименовать точку входа, убедитесь, что вы делаете это на [modulename] .gwt.xml. В большинстве случаев более умные IDE позаботятся об этом после переименования.

То же самое для изменения имени модуля, вы должны изменить его на главной странице. Ничего лишнего.

+0

благодарит за ответ! Я использую History.newItem (someTokenString), но он не запускает onValueChange() в первый раз. Если я использую History.fireCurrentHistoryState, тогда я могу позвонить; но в соответствии с документами google History.newItem (someTokenString) должен был вызываться. Я использую Chrome для режима dev. – abhihello123

+0

Вы уверены, что вы вызываете History.newItem (someTokenString) после добавления обработчика изменения значений? Просто сделайте это, если вы это сделаете, пока это не сработает. – DonX

+0

Я использую что-то вроде этого. Я уверен, что Динеш. общественный недействительный onModuleLoad() \t { \t \t History.addValueChangeHandler (это); \t \t // некоторый код History.newItem (startToken, true); // некоторый код } – abhihello123