Spring UserService类未使用@ViewScoped找到,但可与@SessionScoped一起使用

Spring UserService类未使用@ViewScoped找到,但可与@SessionScoped一起使用,spring,jsf,jsf-2,Spring,Jsf,Jsf 2,我有一个用户服务,在使用ViewScope时ClassNotFound会失败,但在SessionScoped中却能正常工作,我希望有人能告诉我原因。我的应用程序将JSF2与Spring混合使用 我得到的错误是: java.lang.ClassNotFoundException: com.dave.user.service.IUserService 托管bean是 @ManagedBean(name="ClientMB") @ViewScoped public class ClientMB im

我有一个用户服务,在使用ViewScope时ClassNotFound会失败,但在SessionScoped中却能正常工作,我希望有人能告诉我原因。我的应用程序将JSF2与Spring混合使用

我得到的错误是:

java.lang.ClassNotFoundException: com.dave.user.service.IUserService
托管bean是

@ManagedBean(name="ClientMB")
@ViewScoped
public class ClientMB implements Serializable{


@ManagedProperty(value="#{UserService}")
IUserService  userService;

public IUserService getUserService() {
    return userService;
}

public void setUserService(IUserService userService) {
    this.userService = userService;
}
UserService定义为

public class UserService implements Serializable, IUserService  {

// UserDAO is injected...
IUserDAO userDAO;

}
IUserService只是一个接口:

public interface IUserService {
ApplicationContext中的声明是

<bean id="UserService" class="com.dave.user.service.UserService">
    <property name="userDAO" ref="UserDAO" />
</bean>


正如我所说的,使用SessionScoped可以很好地工作,但是当我将托管bean更改为ViewScoped时失败。

问题来自将状态保存从服务器更改为客户端。一旦我返回状态,保存到服务器viewscope工作正常。不太确定为什么会发生这种事,但却毫不尴尬。

这很奇怪。。。您的应用程序是如何打包的?另外,错误消息究竟何时显示?在应用程序启动时,或者当您尝试访问引用
{clientMB}
的页面时,这很奇怪!当我提交一个引用#{clientMB}的页面时,会显示该消息。该应用程序仍在使用glassfish 3进行开发。