gpt4 book ai didi

java - 找不到类 'org.gwtwidgets.client.temp.TMouseListenerCollection'

转载 作者:行者123 更新时间:2023-12-01 15:00:57 26 4
gpt4 key购买 nike

我有下一个父类:

public class ListUIModel<T extends BaseModel> extends BaseModel implements List<T> {

protected ArrayList<T> list = new ArrayList<T>();

public ListUIModel() {
}

public ListUIModel(T... models) {
list = ArraysUtil.asList(models);
}

//implementation of List interface...

并具有从 ListUIModel 派生的类:

public class ProducersUIModel extends ListUIModel<ProducerUIModel> {

public ProducersUIModel() {
}

public ProducersUIModel(ProducerUIModel... producers) {
super(producers);
}

other methods...

服务方法返回 PublicationUIModel。

这段代码是由gwt编译的,当我运行tomcat时,我看到这个警告:

29 Nov 2012 09:10:59,498: ERROR http-8443-Processor21 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/] - userProfileController: ERROR: Could not find class 'org.gwtwidgets.client.temp.TMouseListenerCollection' listed in the serialization policy file '/5C1ACC115899B7BFEC8646E55EC693E0.gwt.rpc'; your server's classpath may be misconfigured
java.lang.ClassNotFoundException: org.gwtwidgets.client.temp.TMouseListenerCollection
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1377)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1223)
at java.lang.Class.forName0(Native Method)...

GWT 的 util CompileReport 说:

org.gwtwidgets.client.temp.TMouseListenerCollection
Serialization status
Instantiable
Path
'org.gwtwidgets.client.temp.TMouseListenerCollection' is reachable as a subtype of type 'class java.util.ArrayList<T>'
'java.util.ArrayList<T>' is reachable from field 'list' of type 'com.xalmiento.desknet.ui.client.model.ListUIModel<T>'
'com.xalmiento.desknet.ui.client.model.ListUIModel<com.xalmiento.desknet.ui.client.model.ProducerUIModel>' is reachable as a supertype of type 'class com.xalmiento.desknet.ui.client.model.ProducersUIModel'
'com.xalmiento.desknet.ui.client.model.ProducersUIModel' is reachable as a subtype of type 'class com.xalmiento.desknet.ui.client.model.ProducersUIModel'

为什么 GWT 尝试加载 TMouseListenerCollection?我使用ArrayList(在其他地方没有),好吧。对我来说还是很难理解:(

我知道我可以从 .gwt.rpc 策略文件中明确排除此类。但我如何用另一种方法解决这个问题呢?

谢谢。

最佳答案

GWT 编译器尝试列出 ArrayList 中实现 IsSerializable 的所有子类型。解决方案是尝试从 TMouseListenerCollection 中删除 IsSerializable 接口(interface),或者如果不通过 rpc 发送列表,则将 ListUIModel 中的列表声明为 transient (不可序列化)。

关于java - 找不到类 'org.gwtwidgets.client.temp.TMouseListenerCollection',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13659309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com