我在使用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
这是一个错误?或者是我的错误??
提前谢谢你:)
答案 0 :(得分: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>
感谢Raffael的支持