GWT и JSNI — отсутствует квалификатор в методе экземпляра

Я отлаживаю и разрабатываю модуль GWT в режиме разработки. При запуске DM я получаю следующую ошибку JSNI: «Отсутствует квалификатор в методе экземпляра». Но когда я компилирую его, я не получаю ошибок компиляции. Это проблема DM или только моя вина?

Совет: это функция, к которой я пытаюсь получить доступ внутри собственного метода:

public static native void fbLogin () /*-{
    @pack1.pack2.pack3::someMethod(Ljava/lang/String;)(param);
}-*/;

Спасибо!


person Community    schedule 02.04.2013    source источник
comment
Является ли someMethod статическим или нет?   -  person Thomas Broyer    schedule 03.04.2013
comment
Как сказал @ThomasBroyer, сделайте его статическим, поэтому нет необходимости создавать экземпляр.   -  person Suresh Atta    schedule 03.04.2013


Ответы (2)


Вы должны либо объявить someMethod как static, либо передать объект экземпляра в свой блок jsni:

public static native void fbLogin (pack3 instance) /*-{
   [email protected]::someMethod(Ljava/lang/String;)(param);
}-*/;
person Manolo Carrasco Moñino    schedule 02.04.2013

Вам не хватает static в методе, который вызывает функция JSNI, метод Java должен быть

public static void someMethod(String param){
}
person Prashant    schedule 08.08.2019