繁体   English   中英

如何将glassfish-resources.xml与分布式.jar文件捆绑在一起?

[英]How to bundle glassfish-resources.xml with distributed .jar file?

glassfish文档说:

在glassfish-resources.xml部署描述符文件中定义了应用程序范围的资源。 该文件位于模块或应用程序归档文件的META-INF目录中。

但是,事实并非如此。 完成后,将.jar文件部署到我的Glassfish 3.1.2服务器上,他抛出了几个异常,并说:

准备应用程序时发生异常:无效的资源:jdbc / malivechat-db-ds__pm

我的资源的JNDI名称实际上是“ jdbc / malivechat-db-ds”。 因此,我不知道下划线“ __pm”来自(?)。 但是,如果我分别添加资源,例如说我通过管理控制台执行此操作,或者让Netbeans为我部署该程序包,则一切正常。

有没有办法将glassfish-resources.xml文件与我们的分布式.jar文件捆绑在一起?

我的看法是,必须如此。 尽管添加资源似乎是特定于应用程序服务器的(为什么?我是说为什么要使用“ glassfish-resources.xml”,而不仅仅是“ resources.xml”?),但是肯定应该有一种方法来添加所有供应商特定的* -resources.xml文件。到我们的.jar文件,从而“支持”一组不同的应用程序服务器?

无论哪种方式,按照Glassfish文档所说的那样执行似乎都不起作用,或者我遇到了完全错误的事情。

我有同样的问题。 我通过在资源名称中指定JNDI应用程序名称空间来解决此问题。 尝试将glassfish-resources.xml JNDI资源名称更改为如下所示: jndi-name="java:app/malivechat-db-ds"

并使用相同的语法查找您的资源。 例如在persistence.xml

<jta-data-source>java:app/malivechat-db-ds</jta-data-source>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM