应用程序范围的资源在 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 文档所说的方式进行操作似乎都行不通,或者我完全错了。