jetty相對weblogic、jboss、tomcat而言,啟動速度快,十分方便開發調試,以下是eclipse里的使用步驟:
一、eclipse->Marketplace里搜索 jetty
一路Next安裝
二、eclipse里run as -> run jetty
最后指出jetty的一個bug:
struts2+jetty運行時,web.xml中<welcome-file-list>...</welcome-file-list>指定的起始頁,不管怎么設置,死活不起作用,解決辦法:
<!-- 指定首頁,解決struts2+jetty首頁失效的問題 --> <package name="home" namespace="/" extends="struts-default"> <default-action-ref name="index" /> <action name="index" > <result name="success">/index.htm</result> </action> </package>
在struts.xml中加入這一坨就行了,但要注意,在使用convention-plugin、rest-plugin插件的情況下,有時會造成瀏覽器里url無限循環跳轉的情況。
附:
a) 手動啟用jetty的方式 %jetty_home%目錄下 java -jar start.jar 即可
b) 手動部署 %jetty_home%\webapps 目錄,把war扔進去就可以了
c) 調整PermSize內存大小,%jetty_home%\start.ini文件打開,添加
-XX:PermSize=256m
-XX:MaxPermSize=512m
至于intellij idea,最方便的方式就是使用jetty-maven-plugin
1 <plugin> 2 <groupId>org.mortbay.jetty</groupId> 3 <artifactId>jetty-maven-plugin</artifactId> 4 <version>8.1.15.v20140411</version> 5 <configuration> 6 <stopKey>exit</stopKey> 7 <stopPort>9090</stopPort> 8 <scanIntervalSeconds>10</scanIntervalSeconds> 9 <webAppConfig> 10 <contextPath>/awbprint</contextPath> 11 </webAppConfig> 12 </configuration> 13 </plugin>
在pom.xml里添加這個后,左側的plugin面板里,就直接出來N多選項
直接點擊對應的節點就行了,比如點擊“jetty:start”,就直接啟用jetty了。
當然也可以針對某個項目,定制一個運行/調試的配置
在下面的對話框里,Command Line里輸入jetty:start
如果項目依賴的jar包很多,運行不久后,很容易出現內存不足,可以手動把內存調大一點
最后送二個小技巧:
1)plugin方式下,如何調整啟動的端口號
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>${maven-jetty-plugin_version}</version> <configuration> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <port>8080</port> </connector> </connectors> <stopKey>exit</stopKey> <stopPort>9090</stopPort> <scanIntervalSeconds>10</scanIntervalSeconds> <webAppConfig> <contextPath>/${project.artifactId}</contextPath> <!--<contextPath>/</contextPath>--> </webAppConfig> </configuration> </plugin>
connector節點下的port即是啟動端口
注:如果采用最新的9.3.x版本,上面的配置將提示錯誤,可參考下面的配置
1 <plugin> 2 <groupId>org.eclipse.jetty</groupId> 3 <artifactId>jetty-maven-plugin</artifactId> 4 <version>9.3.9.v20160517</version> 5 <configuration> 6 <httpConnector> 7 <port>8180</port> 8 </httpConnector> 9 <scanIntervalSeconds>10</scanIntervalSeconds> 10 <webAppConfig> 11 <contextPath>/</contextPath> 12 </webAppConfig> 13 </configuration> 14 </plugin>
更多該插件的參數,可參考官網文檔
2)jetty獨立部署時,如何修改contextPath?
在WEB-INF/放一個jetty-web.xml文件,參考以下內容:
<Configure class="org.eclipse.jetty.webapp.WebAppContext"> <Set name="contextPath">/</Set> </Configure>
參考文章:
http://www.eclipse.org/jetty/documentation/current/configuring-contexts.html#setting-context-path
文章列表
留言列表