2014-06-12 42 views
3

設置

我在Eclipse中有一個項目,我想部署到本地Tomcat服務器。該項目是Git回購的一部分。我克隆了回購並導入了該項目。然後我安裝了Web Tools,創建了服務器等。我對.classpath所做的唯一更改是刪除兩個庫並更改容器(jre)以使用工作區默認值。Eclipse Tomcat構建發佈緩慢

該項目非常小,構建時間爲毫秒。 Progress視圖中從未有任何活動指示符或任何內容。服務器是本地的,所以不應該有延遲。

在服務器上:

  • Modules auto reload by default檢查
  • Automatically publish when resources change選擇
  • Publishing interval (in seconds)是1
  • 我的模塊Auto Reload啓用
  • 服務器被示爲[Started, Synchronized](有時[Started, Restart]
  • 我的模塊顯示爲Synchronized


症狀

  • 修改源和減排導致的長達5秒的延遲之後重新部署(太慢了!)當我有Build Automatically啓用。
  • 手動構建(Build ProjectBuild Automatically禁用)很少導致重新部署。
  • 手動發佈(右鍵單擊服務器並選擇Publish通常會導致重新部署,如果在沒有重新部署的手動構建之後完成。這也可能會有幾秒鐘的延遲。
  • 重新啓動服務器沒有幫助。
  • 重新啓動Eclipse沒有幫助。


問題

最理想我想更改保存到我的源代碼,而不必等待5秒就重新部署後,自動部署的權利。問題似乎是Build Automatically檢查是否需要構建的時間間隔。有沒有辦法縮短這個?

爲什麼Build Automatically總是箱子重新部署,但Build Project很少呢?

爲什麼手動發佈和重新部署實際開始之間會有延遲?有沒有辦法修復/縮短這個?

我不認爲Build Automatically將是必要的,因爲服務器的 Automatically publish when resources change屬性。這個是來做什麼的?


謝謝, 邁克 -



OSX 10.8.5

標準的Eclipse/SDK
版本:開普勒服務版本2
版本ID:20140224-0627

Tomcat v7

+0

當你說「修改源代碼」時,我認爲這些是Java類,而不僅僅是靜態資產,HTML和JavaScript等是否正確? – Mikaveli

+0

正確。 Java類。 – Mike

回答

0

您可以將Eclipse的構建文件夾(用於任何生成的類文件)配置爲直接保存到部署的Web應用程序的classes文件夾。這基本上跳過了部署步驟。

然後,如果您每次想要查看更改時向某個受關注資源(如web.xml)添加腳本/步驟到touch,它將使用類路徑中的新類文件重新加載上下文。這通常需要大約一秒鐘的時間。

0

我們最終設法解決(至少一個變體)'Eclipse慢發佈問題',因爲m2e-wtp是一個問題。我們在.settings/org.eclipse.wst.common.component找到它使用的映射。然後,我們修改了這些映射,以便一次一個地複製各個webapp文件夾。具體而言,我們避免複製非常大的嵌套文件夾,如node_modules

編輯文件並刷新Eclipse項目後,發佈暫停消失了!您必須小心,將來的更改(如做Maven > Update Project)不會覆蓋.settings/org.eclipse.wst.common.component文件。