Java 在Vaadin中使用库:com.Vaadin.server.ServiceException
我正在尝试使用vaadin中的matlabcontrol库。我基本上希望使用vaadin作为GUI来更好地配置变量 我有一个运行的测试GUI,一切正常,直到我尝试添加matlabcontrol特定的变量或调用。我确实添加了这个库,在测试时matlab接口工作得很好 我将向您展示一个抽象示例:Java 在Vaadin中使用库:com.Vaadin.server.ServiceException,java,matlab,vaadin,Java,Matlab,Vaadin,我正在尝试使用vaadin中的matlabcontrol库。我基本上希望使用vaadin作为GUI来更好地配置变量 我有一个运行的测试GUI,一切正常,直到我尝试添加matlabcontrol特定的变量或调用。我确实添加了这个库,在测试时matlab接口工作得很好 我将向您展示一个抽象示例: public class UI_Matlab extends CustomComponent { public UI_Matlab{ Label matlabRox = new Label("
public class UI_Matlab extends CustomComponent {
public UI_Matlab{
Label matlabRox = new Label("Matlab rocks!");
setCompositionRoot(matlabRox);
}
}
这工作正常!
但当我也改变它时:
public class UI_Matlab extends CustomComponent {
public UI_Matlab{
MatlabProxyFactory factory = new MatlabProxyFactory();
Label matlabRox = new Label("Matlab rocks!");
setCompositionRoot(matlabRox);
}
}
我已经得到:
“HTTP状态500-com.vaadin.server.ServiceException:java.lang.NoClassDefFoundError:matlabcontrol/MatlabProxyFactory”
其他信息:
- 瓦丁7.0
- Tomcat v7.0
- 日食开普勒
- matlabcontrol 4.1.0(已编辑)
-->检查您的构建路径,或者您正在部署的内容是否完整。依赖项。我在另一篇帖子中找到了答案: 他们的描述有点不同,所以我会补充我所做的 “hiergiltdiestfu”的意思可能很有效,但我无意中检查了项目类路径。 解决方案是将库添加到服务器类路径,这意味着在我的例子中必须将它添加到tomcat类路径 在eclipse中打开以下内容:
Run > Run Configurations > Apache Tomcat > (your Tomcat instance) > Classpath
然后将您需要的库添加到用户条目中。感谢您的快速回复!我查找了构建路径,添加了matlabcontrol-4.1.0.jar。vaadin服务器库是否有特殊的构建路径?(顺便说一句:必须编辑,使用matlabcontrol 4.1.0)我不完全确定,因为您写道“测试时接口工作得很好”-我假设您的代码在本地测试中工作,但在部署到服务器时不工作,因此我包括了指向本地类路径和部署类路径的指针,在您的例子中,这两个路径都是为Tomcat提供的。我曾经通过Jetty为本地部署开发Vaadin,这意味着这两个类集(本地+部署)实际上是相同的。-不管怎样-很高兴你成功了:)