【问题标题】:NetBeans - "sun-resources.xml" vs. "glassfish-resources.xml"NetBeans -“sun-resources.xml”与“glassfish-resources.xml”
【发布时间】:2015-01-31 20:53:27
【问题描述】:

您知道 Netbeans 如何决定将哪个文件名用于应用程序范围的资源:sun-resources.xmlglassfish-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 的建议相矛盾。

最好的问候

【问题讨论】:

  • 开始赏金,我也想明白这个。

标签: jakarta-ee netbeans deployment glassfish-4


【解决方案1】:

首先,让我们在 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
     }
    

我应该提到这个错误是在 NB 8.0 中引入的; 7.3 doesn't appear to have the same problem

【讨论】:

    【解决方案2】:

    作为记录,我在使用 NetBeans 8.2 和 Glassfish 5.0 阅读 AffableBean 教程时遇到了同样的问题。

    glashfish-resources.xml 文件似乎已默认创建在 web/WEB-INF 文件夹下。 然后在部署阶段被 Glassfish 忽略。

    通过“文件”窗口移动 /setup 目录下的文件解决问题,并在通过 NetBeans 启动部署后创建资源和池。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-27
      相关资源
      最近更新 更多