我有一个网络应用程序试图连接到 MySQL 5.5.11。但是,当我尝试将 .ear 文件分解为 Geronimo 2.2.1 时,会引发以下异常:
org.apache.geronimo.common.DeploymentException:无法解析资源引用“jdbc/MyDataSource”(无法自动映射到资源。尝试将资源引用映射添加到您的 Geronimo 部署计划。
这是我所做的:
- 我使用 Geronimo 控制台创建了一个名为 jdbc/MySQL 的数据库池(使用 Geronimo 数据库池向导)。在向导中,我选择 MySQL Connector/J 3.0.17。我确认 jar 已下载到 {GERONIMO_HOME}/repository。我验证了我可以在 Geronimo 控制台中使用该数据库池创建一个表并插入数据。
- 我将以下内容添加到我的 WEB-INF/web.xml 文件中:
<resource-ref> <res-ref-name>jdbc/MyDataSource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref>
- 我将以下内容添加到我的 WEB-INF/geronimo-web.xml:
<dep:environment> ... <dep:dependencies> <dep:dependency> <dep:groupId>console.dbpool</dep:groupId> <dep:artifactId>jdbc_MySQL</dep:artifactId> </dep:dependency> </dep:dependencies> </dep:environment> <name:resource-ref> <name:ref-name>jdbc/MyDataSource</name:ref-name> <name:resource-link>jdbc/MySQL</name:resource-link> </name:resource-ref>
我做错了什么?如何正确地将我的 Web 应用程序连接到 MySQL 并部署到 Geronimo?
这是我正在使用的:
- 带有 Tomcat 6 的 Geronimo 2.2.1
- MySQL 5.5.11
- Eclipse Indigo 发布
- Mac OS X 10.6.7
谢谢