Javascript本机方法意外抛出exception

我正在从vaadin 6版本更新vaadin项目到vaadin 7 。 它包含一些在旧版本中运行良好的原生Javascript方法。 但是有些人在应该调用时会抛出exception。 我不熟悉Javascript编程,因此我无法识别错误的来源。 特别是该方法是:

  protected static native void addSthToImg() /*-{ $wnd.$(document).ready(function() { var = $wnd.$; var('.settingswrapper > img').addClass("imgStartup"); if (var('.settingswrapper > img').hasClass("imgStartup")) { console.log("imgStartup exist"); var('.settingswrapper > img') .animate(null, 300, function() { var('.settingswrapper > img').removeClass("imgStartup"); var('.settingswrapper > img').addClass("imagePopIn"); }); } }); }-*/; 

在Chrome中的控制台上,我看到错误堆栈跟踪:

 Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError) : Object [object global] has no method '$' 

可能是错误的可能原因是什么,为什么它在旧版本中工作? jar子/库丢失了吗?

似乎jQuery别名$未在全局范围内定义(由$wnd表示)。 你确定你的页面包含jQuery吗?

您应该在HTML源代码中使用 (但指向项目中jquery.js的实际位置)。 我不知道Vaadin是否自动管理JavaScript库,因为我不熟悉该框架。