Solaris 9 12/03 版次注意事項

影響的文件: Sun ONE Application Server 7 Developer's Guide


註解 –

此說明文件適合與已建立索引的部署目錄配合使用。


部署的應用程式目錄名稱之編號方案部分已作為索引機制執行。 這種機制可讓開發者修改與部署的應用程式關聯的 JAR 或類別檔案。 這種機制對於 Windows 平台非常重要,因為在嘗試覆寫載入的檔案時會發生共用違規錯誤,Windows 會在載入的檔案上置入檔案鎖定。 在階段作業啟動期間,檔案會載入伺服器實例或 IDE。 對於共用違規錯誤,可能有兩種選擇:


註解 –

在 Solaris 平台上無需重新部署應用程式,因為 Solaris 平台無檔案鎖定限制。


在 Windows 平台上變更已部署的應用程式以進行 IDE 設定、ANT 檔案複製、編譯或其他作業時,請注意另一種變更。 以遞增的索引編號來建立新目錄可以作為檔案鎖定限制的解決方法。 例如,在 Solaris 平台上,J2EE 應用程式 helloworld 已部署至 Sun ONE Application Server,並具有以下目錄結構:

appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_1

之後,作為此已部署應用程式一部分的 servlet (例如,HelloServlet.java) 有所變更。 啟動 Sun ONE Studio IDE 後,此 servlet 的來源檔會發生變更,並使用設定為前面提到的目錄之 javac 目標進行編譯。 來源檔編譯至正確的位置後,會產生此應用程式的重新載入檔。 server.xml 中的重新載入旗標會設定為真,並且在執行伺服器實例時,所作的變更也會生效,而無需重新組合並重新部署應用程式。

對於 Windows 平台,JAR 或類別檔案由於檔案鎖定問題而無法更改並更新。 因此,您可以透過兩種方式來解決此 Windows 上的問題:

第二種選擇較好,因為使用此方法會在部署應用程式的目錄名稱上附加遞增的索引號。 再次部署 helloworld 後,目錄結構將會如下所示:

appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_1

appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_2

helloworld 的第二個部署將在 helloworld_2 下執行。