您是否知道Netbeans如何决定将哪个文件名用于应用程序范围的资源: sun-resources.xml 或 glassfish-resources.xml ? 这个名称是可配置的还是硬编码的?
据我所知,GlassFish支持 sun-resources.xml 以实现向后兼容。但根据“应用程序部署指南”,首选文件名是 glassfish-resources.xml 。
我使用GlassFish 4.1运行相对较新版本的Netbeans - 8.0.2,但我生成了 sun-resources.xml 文件。这看起来很奇怪而且令人困惑。
另一方面,我看到人们在使用 glassfish-resources.xml 时遇到麻烦: https://netbeans.org/bugzilla/show_bug.cgi?id=243034。 建议的解决方案是将 glassfish-resources.xml 重命名为 sun-resources.xml - 这也与GlassFish建议相矛盾。
最好的问候
答案 0 :(得分:3)
首先,让我们设定Netbeans来源Glassfish is supposed to be able to use both files的期望值。服务器配置通常打包在CommonServerSupport
类中。
此外,它不可配置。
然而,从我在Netbeans源中可以看到,glassfish-resource.xml
文件永远不会被使用。这就是原因:
默认设置应为glassfish-resource.xml
,具体取决于我可以从deployResources()
方法推断出的内容。这种方法又取决于registerResourceDirs()
当succeeded
永远不会更新为true
以表明glassfish-resource.xml
已成功创建并应使用时,问题就会开始。
最终发生的事情是deployResources()
尝试使用sun-resources.xml
作为后备:
if (!usedNewName) {
// try to use sun-resources.xml
registerResourceDir(resourceDir,dm,"sun-resources"); // NOI18N
}
我应该提一下,这个bug是在NB 8.0中引入的; 7.3 doesn't appear to have the same problem
答案 1 :(得分:0)
为了记录,我在使用NetBeans 8.2和Glassfish 5.0浏览AffableBean教程时遇到了同样的问题。
默认情况下,在web / WEB-INF文件夹下创建了glashfish-resources.xml文件。 在部署阶段,Glassfish会忽略它。
通过“文件”窗口移动/ setup目录下的文件解决了问题,并且在通过NetBeans启动部署后创建了资源和池。