当我试图在glassfish 2.1上部署ejb-jar文件时,我得到了这个异常:
Javax。命名。nameNotFoundException not found.
我都快疯了!!我不知道为什么当我使用Netbeans 6.7.1和集成的glassfish 2.1启动hole应用程序(ear)时,我得到了这个异常,它像魔术一样工作!
但是当我尝试在另一台pc上手动部署它时,它不工作
当我试图部署它时,我遇到了这个例外所以我认为ejb模块不知道如何链接到数据库
所以在部署ejb-jar时,它必须是netbeans做的而我没有做的事情有什么帮助吗?
我意识到这有点老了,但是刚刚完成了这个,我想我也可以在这里记录一下。
对我来说,问题是数据库连接。在您的项目中,您应该有一个persistence.xml文件(我的文件在EJB项目中),它详细说明了数据库连接参数。我使用的是本地主机URL,但是当我运行数据库项目时,我注意到在Glassfish下的Services选项卡中没有注册数据库连接。
我是这样做的:
- 创建一个新的数据库连接(右键单击Services, Java DB节点)
- 在服务中,右键单击Java DB连接,属性,检查它注册到的池是否在Glassfish JDBC连接池中并且是正确的,如果不是,确保您的数据库连接是正确的,更新persistence.xml
- 再次运行前清理项目
这对我有用,希望对其他人有帮助。