0

我在将 JPAContainer 与树一起使用时遇到问题。设置数据源和树后:

jpaContainer.setParentProperty("parent");
tree = new Tree(null, jpaContainer);
tree.setImmediate(true);
tree.setSizeFull();
tree.setItemCaptionMode(ItemCaptionMode.PROPERTY);
tree.setItemCaptionPropertyId("description");

我尝试添加一个实体:

jpaContainer.addEntity(entity);

此操作会触发以下错误:

Caused by: java.lang.AbstractMethodError:
com.vaadin.addon.jpacontainer.JPAContainer.getContainerFilters()Ljava/util/Collection;
at com.vaadin.ui.Tree.containerItemSetChange(Tree.java:942)

引发错误的代码行(属于 Tree.containerItemSetChange 方法)如下:

boolean hasFilters = !((Filterable) getContainerDataSource())
                        .getContainerFilters().isEmpty();

JPAContainer 没有 getContainerFilters() 方法,而是有 getFilters() 方法。

我正在使用 vaadin 7.1.7

这是一个错误?还是我的错误??

先感谢您 :)  

4

1 回答 1

0

固定的!

当您使用 maven 命令使用最新版本的 vaadin(例如 7.1.7)构建新项目时,您在 pom 中具有依赖项:

<dependency>
<groupId>com.vaadin.addon</groupId>
<artifactId>jpacontainer-addon</artifactId>
<version>LATEST</version>
</dependency>

此依赖项下载与 vaadin 7.1.x 不兼容的 jpaContainer 3.0.0-SNAPSHOT。我们需要用这个替换依赖:

<dependency>
<groupId>com.vaadin.addon</groupId>
<artifactId>jpacontainer</artifactId>
<version>3.1.0</version>
</dependency>

感谢支持拉斐尔

于 2013-10-22T10:08:01.343 回答