@Inject - 部署时glassfish 4.0上的CDI失败

时间:2015-01-03 12:28:38

标签: java java-ee glassfish ejb cdi

我刚开始使用EJB并且遇到了CDI bean @Inject的问题。在部署和启动glassfish服务器时返回错误消息,如:

  

部署失败=部署期间发生错误:加载应用程序时出现异常:CDI部署失败:加载类com.bwm.servlet.SecurityFilter时出错。有关更多详细信息,请参阅server.log。

日志:

  

2015-01-03T13:15:36.124 + 0100 |严重:加载应用时发生异常:CDI部署失败:加载类com.bwm.servlet.SecurityFilter时出错   org.jboss.weld.resources.spi.ResourceLoadingException:加载类com.bwm.servlet.SecurityFilter时出错   ...

     

引起:java.lang.NoClassDefFoundError:Lcom / bwm / beans / interfaces / UserService;       at java.lang.Class.getDeclaredFields0(Native Method)...

     

引起:java.lang.ClassNotFoundException:com.bwm.beans.interfaces.UserService ...

EJB接口声明:

    @Local
public interface UserService {

    public BWMResult<String> getUserLogin(Integer userId);
    public BWMResult<User> getUser(String login, String password);
}

EJB:

@Stateless
@Local(UserService.class)
public class UserServiceBean implements UserService {

我尝试@Inject EJB的安全过滤器:

public class SecurityFilter implements Filter {

@Inject
UserService userService;

EJB在其他项目模块中比SecurityFilter(我在SecurityFilter项目的构建路径中添加EJB项目)

我做错了什么?

提前做好准备。

0 个答案:

没有答案
相关问题