关于maven-jetty-plugin 自动重启问题

 1             <plugin>
 2                 <groupId>org.mortbay.jetty</groupId>
 3                 <artifactId>maven-jetty-plugin</artifactId>
 4                 <version>6.1.26</version>
 5                 <configuration>
 6                     <!-- 每2秒的间隔扫描一次,实现热部署 -->
 7                     <scanIntervalSeconds>2</scanIntervalSeconds>
 8                     <contextPath>/</contextPath>
 9                 </configuration>
10             </plugin>

代码如上面所示:每次保存代码时 jetty插件会按 <reload>automatic</reload>默认设置自动reload,jetty重新启动

要实现手动控制jetty的重新启动设置如下:

 1             <plugin>
 2                 <groupId>org.mortbay.jetty</groupId>
 3                 <artifactId>maven-jetty-plugin</artifactId>
 4                 <version>6.1.26</version>
 5                 <configuration>
 6                     <!-- 每2秒的间隔扫描一次,实现热部署 -->
 7                     <scanIntervalSeconds>2</scanIntervalSeconds>
 8                     <reload>manual</reload>
 9                     <contextPath>/</contextPath>
10                 </configuration>
11             </plugin>

 

注意:有的jetty插件版本不支持<reload></reload>,注意版本的选择。

手动重载

Jetty 6.2.0pre0版本起,添加了一个新的可用组件,用于控制web应用的重新部署。

配置参数:<reload>[manual|automatic]</reload>

当你设置成手动模式后,web应用不会自动的扫描和重部署。相反,用户可以控制的Web应用时,通过键入回车换行键重载。当设置成自动模式时,将根据scanIntervalSeconds参数的设置不定时的扫描和自动重部署。你也能通过在命令行使用系统参数
-Djetty.reload 配置选择重载的模式。

比如:"mvn -Djetty.reload=manual jetty:run" 将强制手动重载,不管pom.xml文件里如何配置。同理: "mvn -Djetty.reload=automatic -Djetty.scanIntervalSeconds=10 jetty:run" 每隔十秒中后台将重载一次,而不管pom.xml文件里如何配置。

 

posted @ 2014-12-29 16:46  人在囧途-博客  阅读(2829)  评论(0编辑  收藏  举报