Vaadin-虽然我使用了JavaScript注释,但没有加载我的JavaScript库
晚上好, 首先,我很抱歉这可能是一个初学者的错误。我和瓦丁6一起工作了几个月,最近又回到了瓦丁7(所以我仍在努力弄清楚一切) 随函附上我的问题的一个非常小的例子。我试着为Vaadin使用Popullar ReCaptcha插件,我正在按照说明做每件事(至少我认为我是这样做的)。但在启动时,我得到了一个例外,它说:Vaadin-虽然我使用了JavaScript注释,但没有加载我的JavaScript库,java,javascript,annotations,vaadin,Java,Javascript,Annotations,Vaadin,晚上好, 首先,我很抱歉这可能是一个初学者的错误。我和瓦丁6一起工作了几个月,最近又回到了瓦丁7(所以我仍在努力弄清楚一切) 随函附上我的问题的一个非常小的例子。我试着为Vaadin使用Popullar ReCaptcha插件,我正在按照说明做每件事(至少我认为我是这样做的)。但在启动时,我得到了一个例外,它说: java.lang.NoClassDefFoundError: net/tanesha/recaptcha/ReCaptchaImpl at java.lang.Class.g
java.lang.NoClassDefFoundError: net/tanesha/recaptcha/ReCaptchaImpl
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
...
Caused by: java.lang.ClassNotFoundException: net.tanesha.recaptcha.ReCaptchaImpl
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1324)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1177)
... 45 more
我的最小源代码(让我再次指出附带的最小示例)是:
我觉得JavaScript库没有加载,我不明白为什么会这样。如果我查看网站的源代码,我也找不到库。如果是这样的话(或者如果我做错了什么),如果你们中有人能给我解决这个问题的答案,我会非常高兴
非常感谢你的回答。如果您需要其他详细信息,我将很乐意提供这些信息(让我再次指出所附的示例项目:-)请随意查看)
附件:
最小的项目()插件需要另一个库才能工作:
net.tanesha.recaptcha4j:recaptcha4j:0.0.7
看
import com.vaadin.annotations.JavaScript;
import com.vaadin.annotations.Theme;
import com.vaadin.server.VaadinRequest;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Label;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;
import com.wcs.wcslib.vaadin.widget.recaptcha.ReCaptcha;
import com.wcs.wcslib.vaadin.widget.recaptcha.shared.ReCaptchaOptions;
@SuppressWarnings("serial")
@Theme("test")
@JavaScript("http://www.google.com/recaptcha/api/js/recaptcha_ajax.js")
public class TestUI extends UI {
@Override
protected void init(VaadinRequest request) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
Button button = new Button("Click Me");
button.addClickListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
layout.addComponent(new Label("Thank you for clicking"));
}
});
layout.addComponent(button);
ReCaptcha captcha = new ReCaptcha(
"6Lfv5OoSAAAAAPEbWhNB0ERopfQpRxr8_5yncOmg",
"6Lfv5OoSAAAAAHa4zmExf6w2ja3vm-8ABKgyepq-",
new ReCaptchaOptions() {
{
theme = "white";
}
});
layout.addComponent(captcha);
}
}