找不到jndi数据源

时间:2014-05-20 09:58:01

标签: java-ee netbeans glassfish jndi

我试图将netbeans中的J2EE项目从windows迁移到linux。我的项目在Windows中运行,但是当我在Ubuntu中启动时,它给了我

"Exception while preparing the app : Invalid resource : jndi_ubuntu__pm
com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: 
Invalid resource : jndi_ubuntu__pm"

我创建了数据源 jndi_ubuntu ,但我去了 服务 - >服务器 - > Glassfish - >资源 - > JDBC - > JDBC资源 我看不到!! 看起来我创建了新的数据源,但它没有看到它们。

persistence.xml

<persistence-unit name="csm-catering-ejbPU" transaction-type="JTA"> 
 <jta-data-source>jndi_ubuntu</jta-data-source> 
 <exclude-unlisted-classes>false</exclude-unlisted-classes> 
 <properties/> 
</persistence-unit>

如何解决此问题?

2 个答案:

答案 0 :(得分:0)

根据错误,应用程序正在尝试连接名为 jndi_ubuntu__pm 的数据源,而不是 jndi_ubuntu 。您需要修改persistence.xml中的jta-data-source标记为了匹配dataSource JNDI名称:

<jta-data-source>jndi_ubuntu__pm</jta-data-source>

答案 1 :(得分:-1)

我解决了修改HOME / GLASSFISH / CONFIG / DOMAINS / DOMAIN1中的文件domain.xml,就像在Windows上的同一文件中一样。