如何通過Maven的Jetty插件運行Web工程


強烈建議使用jetty9,因為據官方文檔顯示,Jetty 7 and Jetty 8 are now EOL (End of Life),如下:

在pom.xml文件的<build></build>標簽中加入如下配置:

復制代碼
<plugins>
    <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>9.4.4.v20170414</version>
        <configuration>
            <scanIntervalSeconds>5</scanIntervalSeconds>
            <webApp>
                     <contextPath>/</contextPath>
            </webApp>
        </configuration>
    </plugin>
</plugins>
復制代碼

配置說明:

    configuration.scanIntervalSeconds 配置表示新代碼的掃描時間間隔(秒),值 <= 0 表示不掃描。這里利用的是jetty 的定時重載代碼的特性,做修改后不用重新啟動項目,自動掃描出改動后會自動更新class文件的。
    configuration.webApp.contextPath 配置表示工程的虛擬目錄名,如果配置為/,則屆時訪問路徑為hostname:port/,如果配置為/jetty,則屆時訪問路徑為hostname:port/jetty,有點相當於namespace的作用。

啟動看效果,用Maven Build啟動,需在Goals欄中配置如下:

jetty:run -Djetty.port=9080

或是直接在項目根目錄下在命令行中用maven命令啟動  mvn jetty:run -Djetty.port=9080

其中9080是指定的端口,也可以在pom.xml文件中指定端口,且在pom.xml文件中指定的端口優先級要比Goals中指定的端口的優先級要高。配置如下:

復制代碼
<plugins>
    <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>9.4.4.v20170414</version>
        <configuration>
            <scanIntervalSeconds>5</scanIntervalSeconds>
            <webApp>
                <contextPath>/</contextPath>
            </webApp>
            <connectors>
                <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                    <port>10000</port>
                </connector>
            </connectors>
        </configuration>
    </plugin>
</plugins>
復制代碼

此時啟動的話,如果在Goals也配置了-Djetty.port=9080,則有效的訪問路徑還是hostname:10000/,因為在pom.xml文件中配置的端口的優先級比較高!

 

轉自:https://www.cnblogs.com/koushr/p/5873384.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM