2013-01-11 32 views
1

我正在使用IBM RAD版本8.0並將EAR應用程序部署到IBM WebSphere 7.0。每次更改JSF文件時,我都需要重新發布應用程序,否則更改不可見。是否可以在不重新發布的情況下將更改應用於JSF文件?

發佈需要一些時間,所以通常在我能夠看到即使是最小的變化的影響之前也需要至少一分鐘。在'正常的'應用程序開發中,它只需幾秒鐘,對於沒有JSF coryphee並仍然在學習並需要實驗的人來說至關重要...

是否有可能使用JSF功能重新加載JSF在使用IBM RAD和WebSphere時,無需重新啓動應用程序就可以實現頁面定義?或者我將被迫創建第二個環境,使用Eclipse & Tomcat,僅用於JSF實驗?

+0

JBoss 6&7與Eclipse一起,即時更改.xhtml文件,但對類(託管或非託管)的更改需要重新啓動應用程序。 HTH – SJuan76

回答

4

這通常在服務器配置中進行配置。在Eclipse的Servers視圖中雙擊所需的服務器,並點擊發佈部分。

enter image description here


注意,使用它可以緩存相對agressively的MyFaces特別是當你應該採取的facelet緩存考慮爲好。如果確保javax.faces.PROJECT_STAGE上下文參數設置爲Development,那麼MyFaces和Mojarra都會放鬆Facelet高速緩存策略,導致它幾乎立即重新編譯Facelet文件,而不是在相當長的時間內使用高速緩存版本。

發佈的替代設置是使用JRebel。它能夠發佈Java類的更改,例如託管的bean和EJB,節省大量的熱部署時間。它也有一個Eclipse plugin

+0

我正在使用開發階段。無論如何,這些更改都不可見(可能是WebSphere特定的)。但是,多虧了你,我至少能夠決定我什麼時候發佈:)使用特定的插件不是這種情況,因爲我被譴責到RAD,並且在由安全等管理的配置中:( –

+0

「發佈」過程僅僅是將已更改的文件從IDE項目文件夾複製到服務器的deploy文件夾的步驟,服務器應該被配置爲自動熱部署deploy文件夾中的更改。我不做Websphere(自從幾年以來),但Tomcat具有' '爲此設置(當使用適當的(內置)Tomcat插件時,也可以通過Eclipse自動引導)。您可能希望查看Websphere文檔或向服務器管理員詢問與此類似的線索。 – BalusC

+0

我的團隊在不同的階段遇到了這個問題,首先檢查,如BaluC所建議的是javax.faces.PROJECT_STAGE = Development。如果它仍然不起作用(對我們來說它沒有),我們通過a解決了這個問題。升級到RAD V8.0.4,b。很少卸載並重新安裝RAD c。很少移動到Windows 7(早期版本是Windows 2008 Server),然後安裝RAD。最後,Windows 7和RAD V8.0.4組合適用於所有人,而我們不再面臨這個問題。 –

2

此線程舊,但我仍然有同樣的問題,使用eclipse和WebSphere。

一個地方要檢查是這樣的。如果您使用帶有.xhtml結尾的JSF文件,則必須確保這些更改不會觸發自動重新發布。

  1. 在「服務器」標籤中雙擊您的服務器。
  2. 打開「WebSphere Application Server的發佈設置」
  3. 單擊「設置高級發佈設置...」。
  4. 在「不觸發服務器發佈...的文件擴展名列表」中插入或追加「* .xhtml」。
  5. 關閉這些設置並重新啓動服務器。

在web.xml中,我還添加了一個名爲javax.faces.PROJECT_STAGE和值爲Development的參數,這可能會影響違規行爲。

相關問題