[英]NetBeans - “sun-resources.xml” vs. “glassfish-resources.xml”
您是否知道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建議相矛盾。
最好的祝福
首先,讓我們設定一個期望,在Netbeans源代碼中, Glassfish應該能夠使用這兩個文件 。 服務器配置通常打包在CommonServerSupport
類中。
此外,它不可配置。
然而,從我在Netbeans源中看到的內容,將永遠不會使用glassfish-resource.xml
文件。 原因如下:
默認設置應該是glassfish-resource.xml
,基於我可以從deployResources()
方法推斷出來的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似乎沒有同樣的問題
為了記錄,我在使用NetBeans 8.2和Glassfish 5.0瀏覽AffableBean教程時碰到了同樣的問題。
看來glashfish-resources.xml文件默認是在web / WEB-INF文件夾下創建的。 在部署階段,Glassfish會忽略它。
通過“文件”窗口移動/ setup目錄下的文件可解決問題,並在通過NetBeans啟動部署后創建資源和池。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.