文章出處

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


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()