我正在使用GWT(目前正在使用谷歌的eclipse插件),我正试图从服务器向客户端抛出异常。
我的例外是
class LoginException extends Exception implements IsSerializable
但我得到(在托管模式下加载):
'[...] / src / myPackage / client / services / Session.java'中的[ERROR]错误
[错误]第25行:没有源代码可用于类型hugobarrera.gestorAlumnos.server.LoginException;你忘了继承一个必需的模块吗?
Session.java是:
[...]
public interface Session extends RemoteService {
[...](第25行:)
String newSession(String usr, String pwd) throws LoginException;
[...]
我哪里错了?我读过人们在抛出异常时遇到问题的数百万个地方,但这些解决方案都没有应用。
答案 0 :(得分:4)
所有需要序列化的类必须位于[...]。客户端软件包或子软件包中。
显然他们可能没有构造函数。
[edit]你需要在可序列化的类中有一个无参数的构造函数。
答案 1 :(得分:2)
skaffman:LoginException与Session不在同一个包中。
雨果:将它们移到同一个包中解决了这个问题。