我有一个ejb项目,它添加了完整的库。但是当我运行ejb-war时,我在Glassfish服务器中出现了这个错误
SEVERE: The return type of the lifecycle method [construcGroup] must be void
SEVERE: Exception while deploying the app [mcGrawLibPro-war]
SEVERE: Exception during lifecycle processing
和ejb-war
In-place deployment at C:\Users\Hung\Documents\NetBeansProjects\mcGrawLibPro\mcGrawLibPro-war\build\web
GlassFish Server, deploy, null, false
C:\Users\Hung\Documents\NetBeansProjects\mcGrawLibPro\mcGrawLibPro-war\nbproject\build-impl.xml:1048: The module has not been deployed.
See the server log for details.
我不知道为什么 GlassFish Server,deploy,null,false 因为,我花了3天时间找到解决方案,我已经用mySQL创建了连接池。我正在使用Netbeans 7.4和Glassfish 4.0。希望建议。
答案 0 :(得分:0)
GlassFish Server,deploy,null,false
这只是一个总结,表明由于Web应用程序本身存在错误,Web应用程序的部署失败。
有关此错误的线索应以上述行之前的异常形式显示。在您的具体情况下,它就是下面的一个:
SEVERE:生命周期方法[construcGroup]的返回类型必须为void
此错误可被识别为不可接受的@PostConstruct
方法。 @PostConstruct
方法的一个要求是它返回void
(即:什么都没有)。根据错误消息,你有这样的事情:
@PostConstruct
public SomeObject construcGroup() {
// ...
return someObject;
}
这是无效的。它应该初始化bean的属性并返回void
。
private SomeObject someObject;
@PostConstruct
public void construcGroup() {
// ...
this.someObject = someObject;
}
将方法重命名为规范化方法名init()
也不错。