Java 使用Primefaces选取列表的ClassCastException
我得到了下面的DTO对象Java 使用Primefaces选取列表的ClassCastException,java,primefaces,classcastexception,backing-beans,picklist,Java,Primefaces,Classcastexception,Backing Beans,Picklist,我得到了下面的DTO对象 public class ToManyAssociationModel<T> implements Serializable { private DualListModel<String> assigned; ... public ToManyAssociationModel() { ... source.add("FOO");
public class ToManyAssociationModel<T> implements Serializable {
private DualListModel<String> assigned;
...
public ToManyAssociationModel() {
...
source.add("FOO");
source.add("BAR");
...
assigned = new DualListModel<String>(source,target
);
}
}
域POM(其中嵌套了ToManyAssociationModel):(仅相关部分)
org.primefaces
素面
7
假如
WAR POM:(仅适用于相关零件)
org.primefaces
素面
7
编译
文件上传
文件上传
1.2.1
编译
看起来PF类是由不同的类装入器多次装入的。在你的类路径上有多次出现primefaces*.jar吗?@Selaron我把primefaces jar放在耳朵里,然后打了起来。在maven中,我在两个模块上使用它。“一个罐子和一场战争。你的pom.xml看起来怎么样?”Selaron补充道,我正在玩scopes atm。。。但是还不能修复classcastexception
<p:pickList id="pickList" value="#{benutzerkontoModel.availableBenutzergruppen}" var="cities" itemLabel="#{cities}" itemValue="#{cities}" />
public BenutzerkontoDTO(Benutzerkonto benutzerkonto, ToManyAssociationModel<Long> benutzergruppen) {
assert benutzerkonto != null : "benutzerkonto must not be null";
assert benutzergruppen != null : "benutzergruppen must not be null";
this.benutzerkonto = benutzerkonto;
this.benutzergruppen = benutzergruppen;
}
java.lang.ClassCastException: cannot assign instance of org.primefaces.model.DualListModel to field de.db.udg.diagnose.udgdiag.domain.base.ToManyAssociationModel.assigned of type org.primefaces.model.DualListModel in instance of de.db.udg.diagnose.udgdiag.domain.base.ToManyAssociationModel
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>7.0</version>
<scope>compile</scope>
</dependency>
<!-- PrimeFaces File Upload utils -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.1</version>
<scope>compile</scope>
</dependency>