2

私は DevMode でこの作業コードを持っていますが、コンパイルされたコード (ライブ) で実行すると、Javascript ブラウザ コンソールでエラーがスローされます。

コード:

MyService service = GWT.create(MyService.class);
// This works
service.createStuff(title.getText(), content.getText(), new MethodCallback<MyModel>() {
            @Override
            public void onSuccess(Method method, MyModel resp) {
                GWT.log("Response from server: " + resp);

            }
            @Override
            public void onFailure(Method method, Throwable exception) {
                GWT.log(exception.getMessage());
            }
        });
// This does not work
service.readStuff(id, new MethodCallback<MyModel>() {
        @Override
        public void onSuccess(Method method, MyModel model) {

        }
        @Override
        public void onFailure(Method method, Throwable exception) {
        }
    }); 

エラー:

com.google.gwt.core.client.JavaScriptException: (TypeError): Cannot call method 'ef' of null
    at Unknown.nn(StackTraceCreator.java:168)
    at Unknown.tl(StackTraceCreator.java:421)
    at Unknown.SU(Exceptions.java:29)
    at Unknown.Hjb(SubmittedPage.java:91)
    at Unknown.qlb(AbstractRequestCallback.java:72)
    at Unknown.Nu(Request.java:287)
    at Unknown.qv(RequestBuilder.java:395)
    at Unknown.anonymous(XMLHttpRequest.java:287)
    at Unknown.Im(Impl.java:168)
    at Unknown.Lm(Impl.java:214)
    at Unknown.anonymous(Impl.java:57) 

少なくともこの種の問題をデバッグするにはどうすればよいですか?

4

2 に答える 2

2

まず、難読化された JavaScript を生成しない「プリティ」モードで JavaScript にコンパイルできます。その後、ブラウザで JavaScript をデバッグするのは簡単です。

Mojo の Maven GWT プラグインでは、これは次の行で行われます。

mvn gwt:compile -Dstyle=PRETTY

しかし、これは構成に関連するものであるように私には思えます。なんらかの注射がうまくいかなかったのか、実行されなかったのか...

于 2013-09-18T12:07:15.953 に答える
0

まず、js を pretty モードでコンパイルします。しかし、GWT コンパイラーの詳細を知らなければ、コンパイルされたコードをスキャンしてエラーの原因を推測するのは難しいかもしれません。

愚かな方法でそれを行う方が簡単かもしれません。コメントアウトするまでコメントしてデプロイし、失敗する行を見つけます! 私はGWTコンパイラについての知識がないので、それが私がすることです...

于 2013-09-18T12:17:13.797 に答える