2010-04-19 49 views
7

我已經設置了一個簡單的Eclipse 3.5/Jetty 6.1 Web應用程序,它返回hello world。有用。這是在Windows上並使用「Jetty通用服務器適配器」。我有自動部署工作,以便定期更改後部署。如何開發Java Web應用程序而不必一直部署

我該如何設置它,這樣如果我改變任何靜態內容,它不必重新部署,即我可以直接點擊F5來查看更改。對於較小的HTML更改,部署需要20-30秒才能使用。

+0

重複..sort of http://stackoverflow.com/questions/347698/how-do-i-automatically-export-a-war-after-java- build-in-eclipse – 2010-04-19 20:41:02

+0

首先,這應該是作爲評論發佈的。其次,這是一個完全不同的主題? – BalusC 2010-04-19 20:41:45

+0

對於類中的細微變化,也可以使用如下工具: http://www.zeroturnaround.com/jrebel/ – 2010-04-22 09:06:39

回答

3

我之前沒有使用過Jetty,所以我無法從經驗中瞭解到,如果長時間的部署時間正常,以及如何優化它。但我只是通知這取決於所使用的服務器和服務器插件。在Apache Tomcat 6 + Eclipse提供的插件和Sun Glassfish v3 + GF-provided plugin的情況下,自動部署足夠快。特別是Glassfish v3,在啓動時相對較慢,真正擅長亞秒(熱)部署。

第一步是檢查是否有替代Jetty Eclipse plugins,然後嘗試它們和/或是否有降低hotdeploy scan interval的設置。

+0

哈,在這裏也有類似的體驗(+1):-) – 2010-04-19 20:49:57

+0

我已經安裝了glassfish v3和glassfish插件。這不是即時的,但速度足夠快。謝謝您的幫助! – 2010-04-20 17:51:25

+0

不客氣。 – BalusC 2010-04-20 17:54:01

0
  1. 我發現,自動部署所花費的時間很大程度上取決於應用程序服務器。我還沒有使用Jetty進行自動部署,但JBoss(> 10秒)和Glassfish(< 3秒)之間的差異非常顯着。

  2. 您可以將應用程序服務器的靜態目錄鏈接到Eclipse工作區。這樣,您可以直接在該目錄中編輯文件。

下面是如何創建這樣一個鏈接:在文件系統

0

你所描述的可能是this one問題新建>文件夾>高級>鏈接文件夾。這是一個已知的問題,即靜態文件在Windows上的Jetty中被鎖定 - 這可能會強制您重新部署。通常你可以編輯你的文件,你不必重新部署任何東西來查看你的改變。它甚至可以在類修改時運行(一定程度上)。

這是我今天第三次做廣告,但這裏是我的基於碼頭測試的方法:Hifaces20 Testing

ps。 Hifaces20測試不受文件鎖定問題的影響,它實現了建議的解決方法。

+0

但是,如果一個文件被鎖定,OP將無法保存它,它會產生一個錯誤? – BalusC 2010-04-19 20:58:01

+0

@BalusC:不確定。我只記得當時這個問題被迫重啓Jetty。 – lexicore 2010-04-19 21:00:40

1

我用maven與配置下

 <plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>maven-jetty-plugin</artifactId> 
      <version>6.1.25</version> 
      <configuration> 
       <scanIntervalSeconds>1</scanIntervalSeconds> 
       <requestLog implementation="org.mortbay.jetty.NCSARequestLog"> 
        <append>true</append> 
       </requestLog> 
      </configuration> 
     </plugin> 

所以碼頭掃描更改每一秒,和我的簡單的應用程序需要200ms左右重新啓動應用程序。我注意到有時候yetty並沒有看到jsp文件中的變化

+0

我和Yetty有同樣的問題。感謝您的回覆 - 對我來說工作得很好。比重新編譯ASP.Net應用程序所用的10秒要好得多。 – 2010-08-30 10:15:46