java - JNDI 资源名称附加了 __pm 。部署失败

标签 java jakarta-ee netbeans glassfish ear

我正在尝试运行一个非常简单的耳朵应用程序。我似乎正好遇到了这个问题,但这里的讨论对我不起作用JDBC resource name being modified by container (__pm being appended to it)

在我的例子中,数据源名称也由 __pm 附加。我不知道它来自哪里,但服务器日志指出这样一个事实,即它没有搜索 databasename,而是搜索 databasename__pm 并且部署失败。

持久性.xml :-

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="FCK-ejbPU" transaction-type="JTA">
    <jta-data-source>FCKDatabase</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties/>
  </persistence-unit>
</persistence>

Glassfish 日志:

  Error occurred during deployment: Exception while preparing the app : Invalid resource : { ResourceInfo : (jndiName=java:app/jdbc/FCKDatabase__pm), (applicationName=FCK) }. Please see server.log for more details.
        Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method : java.lang.RuntimeException: Invalid resource : { ResourceInfo : (jndiName=java:app/jdbc/FCKDatabase__pm), (applicationName=FCK) }
        Invalid resource : { ResourceInfo : (jndiName=java:app/jdbc/FCKDatabase__pm), (applicationName=FCK) }

如您所见,我的资源的 JNDI 名称附加了 __pm

同样在 Glassfish 服务器控制台上,资源正确显示为 FCKDatabase 而不是 FCKDatabase_pm

知道这个 __pm 来自哪里吗?

系统:

  • Netbeans 7.3
  • Glassfish 服务器 3.1.2

最佳答案

问题是 mysql 连接器 jar 文件没有放入 glassfish 服务器。这会引发一系列问题。我在上面发布的只是服务器日志包含的错误消息之一。我建议查看整个错误消息列表并尝试从那里进行调试。以下链接帮助我将 jar 文件放在正确的位置:

关于java - JNDI 资源名称附加了 __pm 。部署失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15473918/

相关文章:

java - Android Studio(增加最终变量)

java - 如何为电子商务应用程序构建面包屑?

java - 访问 Jar 中的 PDF

java - 在 android marshmallow (API v23) 上的 Cordova/phonegap 项目上添加运行时权限

java - 整数除法 : Why is the result of 1/3 == 0?

java - Java EE 网站的默认 session 超时是多少?

jakarta-ee - java ee6 : override CDI alternative

java - log4j。唯一的日志文件名

java - 将下载的 .js 文件添加到 Netbeans 中的现有项目中

java - 在我的例子中使用 Set 删除数组中的重复元素