發現sina app engine(sae)和google app engine(gae)用的java servlet容器都是jetty,而不是tomcat,昨天在自己的電腦上寫了一個servlet在sae上卻不能用,於是在本地配了一下jetty。
1、安裝和運行jetty
下載jetty的distribution壓縮包之後,解壓,在終端或者命令提示符中進入解壓出來的jetty-distribution-xxx目錄(jetty_home),執行
- java -jar start.jar
即可啓動jetty(一定要在jetty_home目錄下執行這條命令,不然會報filenotfound錯誤),默認啓動的http端口和tomcat一樣,都是8080
在jetty_home/webapps/目錄下的war文件就是要啓動的web項目。
要在eclipse jee中使用jetty,我嘗試了兩種方法。
2、添加jetty server adapter
一種是在eclipse的server視圖中添加jetty的適配器,但是在eclipse jee Helios裏面只能貌似只有jetty 6的適配器(jetty版本更新很快,其實jetty6是09年發佈的,不算很古老),可能高版本的eclipse可以支持更高版本的jetty吧。
下載jetty6:
http://dist.codehaus.org/jetty/jetty-6.1.x/jetty-6.1.3.zip
打開eclipse,在Window->Preference中選擇Server->Runtime Environments:
點擊右側Add:
點擊Download additional server adapters:
待更新完了,會出現Jetty Generic Server Adapter,選中,點Next然後一步步安裝就好了。
在eclipse的servers視圖中新建Server:
選擇jetty6,下面一步步配置即可,Jetty_home選擇剛纔解壓出來的jetty6的目錄即可,端口不要和其他服務衝突。
在eclipse中新建一個dynamic web project,dynamic web module version選擇2.2,在Web content下寫一個index.jsp,右擊工程,Run as->run on server,選擇剛纔新建的jetty 6 at localhost,就可以看到效果了,和使用tomcat沒有什麼不一樣。
3、安裝run-jetty-run插件
另外一種方法是在eclipse中安裝run-jetty-run插件,我覺得這種方式比較好,可以支持jetty7、8,安裝方法如下:
在eclipse菜單欄,Run->Install new software->Add,輸入地址:http://run-jetty-run.googlecode.com/svn/trunk/updatesite,如下圖:
OK,然後勾選RunJettyRun即可
之後一步步安裝即可。
安裝之後連jetty都不需要安裝,插件中帶了jetty6、7、8。新建dynamic web project,右擊工程,Run as->Run configuration:
(首次操作時,在run configuration裏可能沒有出現工程,點一下左上角的新建按鈕即可)會有一套缺省的配置,根據需要修改端口和其他配置之後,run就可以了。配置詳見
http://code.google.com/p/run-jetty-run/wiki/GettingStarted
http://code.google.com/p/run-jetty-run/wiki/RJRConfigurations
ps:Select a Jetty Version ,一定要選擇高版本,比如 8.X.X ..
打開瀏覽器,輸入地址http://localhost:8080/jettytest即可查看剛纔的web工程.