有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用Vaadin:com中的库。瓦丁。服务器服务例外

我正在尝试使用瓦丁的matlabcontrol库。我基本上希望使用vaadin作为GUI来更好地配置变量

我有一个运行的测试GUI,一切正常,直到我尝试添加matlabcontrol特定的变量或调用。我确实添加了这个库,在测试时,matlab界面工作得很好

我将向你们展示一个抽象的例子:

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 Status 500-com.vaadin.server.ServiceException:java.lang.NoClassDefFoundError:matlabcontrol/MatlabProxyFactory”

其他信息:

  • 瓦丁7.0
  • Tomcat v7。0
  • 日食开普勒
  • matlabcontrol 4.1.0(已编辑)

共 (2) 个答案

  1. # 1 楼答案

    我在另一个帖子中找到了答案: External project dependency in Vaadin

    他们的描述有点不同,所以我会补充我所做的

    “hiergiltdiestfu”的意思可能很有效,但我无意中检查了项目类路径。 解决方案是将库添加到服务器类路径,这意味着在我的例子中,必须将其添加到tomcat类路径

    在eclipse中打开以下内容:

    Run > Run Configurations > Apache Tomcat > (your Tomcat instance) > Classpath
    

    然后将你需要的库添加到用户条目中

  2. # 2 楼答案

    小部件正试图加载它所依赖的其他类(MatlabProxyFactory),但找不到它们(NoClassDefFoundError类似于ClassNotFoundException,但找不到一个级别“更深”,比如加载的类的字段或返回类型)

    >;检查您的构建路径,或者您正在部署的内容是否完整。依赖关系