0

我有一个部署了 Web 应用程序的 EC2 实例。EC2 实例是带有 Tomcat 的 Linux。该 Web 应用程序在我的机器上本地运行良好,它连接到 MySQL 的 AWS RDS 实例。

当我将此 Web 应用程序部署到 EC2 实例时,任何需要调用数据库的页面都不会加载。我正在使用 Hibernate,在尝试创建 Hibernate 会话时,我得到了 NullPointerException。如果我删除 persistence.xml 配置文件,这与我在本地机器上遇到的错误相同。

在我的 persistence.xml 中,我只是定义了一个持久性单元,正如您所期望的那样。没什么花哨的(同样,它在本地运行良好)。

当应用程序在 EC2 实例上运行时,为什么没有找到/发现和加载 persistence.xml 配置文件?

目前配置文件位于项目中:

/web/res/META-INF/persistence.xml

任何输入表示赞赏。谢谢!

4

2 回答 2

1

尝试将 META-INF 文件夹与您的 persistence.xml 复制到您的 src 文件夹。在我无法加载我的 persistence.xml 之前,我遇到过问题,因为它不在我的类路径中。

于 2012-12-10T01:46:52.863 回答
0

好吧,所以我是个白痴。我在 tomcat lib 目录中有 MySQL 连接器 jar,因此我的所有项目都可以自动使用它,而无需我手动将其添加到每个项目中。但是当你把东西打包到一个战争文件中并发布时,它不包括那些“普通”的罐子。作为旁注,这些罐子不应该被包括在战争中吗?对我来说似乎很奇怪,他们不是。

于 2012-12-10T03:04:20.380 回答