Я обнаружил ту же проблему в DevMode, если в приложении была статическая ссылка на другую страницу (т.е. myModule2.html). Поскольку в нем отсутствовала строка ? Gwt.codesvr = 127.0.0.1: 9997 , она интерпретировалась как статическое (уже скомпилированное) приложение GWT, а это не так, и выдает код ошибки, который вы упомянули.
Конечно, решение состоит не в том, чтобы использовать жестко закодированные буквенные ссылки, а в том, чтобы GWT сделал их для вас. Надеюсь, это кому-нибудь поможет.
UPDATE:
Этот код генерирует эту ошибку в стандартном файле GWT * .nocache.js.
function B() {
var b = false;
try {
var c = Window.location.search;
return (c.indexOf("gwt.hosted=") != -1
|| (c.indexOf("gwt.codesvr=") != -1
|| Window.external && Window.external.gwtOnLoad))
&& c.indexOf("gwt.hybrid") == -1
} catch (a) {}
B = function () {
return b
};
return b
}
// and later, if B() returns false, show recompile error
if (!B()) {
try {
alert(Pb);
return;
}
...
}
Таким образом, чтобы предотвратить сообщение компилятора
- не имеет gwt.hybrid в URL
- И не имейте gwt.hosted =
- ИЛИ get.codesvr =
- ИЛИ метод Window.external.getOnLoad
Так, в случае всплывающего окна, некоторый серверный код перенаправлял URL-адрес сеанса DevMode, но не добавлял обратно параметр «codesvr =», поэтому было показано предупреждение.