NetBeans - “sun-resources.xml”与“glassfish-resources.xml”

时间:2015-01-31 20:53:28

标签: java-ee netbeans deployment glassfish-4

您是否知道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建议相矛盾。

最好的问候

2 个答案:

答案 0 :(得分:3)

首先,让我们设定Netbeans来源Glassfish is supposed to be able to use both files的期望值。服务器配置通常打包在CommonServerSupport类中。

此外,它不可配置。

然而,从我在Netbeans源中可以看到,glassfish-resource.xml文件永远不会被使用。这就是原因:

  1. 默认设置应为glassfish-resource.xml ,具体取决于我可以从deployResources()方法推断出的内容。这种方法又取决于registerResourceDirs()

  2. succeeded永远不会更新为true以表明glassfish-resource.xml已成功创建并应使用时,问题就会开始。

  3. 最终发生的事情是deployResources()尝试使用sun-resources.xml作为后备:

    if (!usedNewName) {
       // try to use sun-resources.xml
       registerResourceDir(resourceDir,dm,"sun-resources"); // NOI18N
     }
    
  4. 我应该提一下,这个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启动部署后创建了资源和池。