嵌入式码头热部署
Posted
技术标签:
【中文标题】嵌入式码头热部署【英文标题】:hot deploy in embedded jetty 【发布时间】:2011-01-23 02:44:08 【问题描述】:我有一个 Spring Roo 项目,我使用 mvn jetty:run
来运行我的应用程序。唯一的问题是对*.java
类的更改不能热部署,而对*.jspx
的更改可以热部署。
那么如何配置 mvn jetty 来为 java 类进行热部署呢?
【问题讨论】:
【参考方案1】:您需要将scanIntervalSeconds
设置为大于0的值才能启用它:
scanIntervalSeconds
- 以秒为单位扫描 web 应用程序的更改并在必要时重新启动上下文的时间间隔。如果启用重新加载,则忽略。默认禁用。 默认值为:0。
所以配置可能如下所示:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.22</version>
<configuration>
<scanIntervalSeconds>1</scanIntervalSeconds>
</configuration>
</plugin>
一旦启用,jetty maven 插件将扫描classDirecory
(默认指向$project.build.outputDirectory
,即target/classes
)中定义的目录以进行更改。
然后您只需让您的 IDE 编译 target/classes
中的类(或运行 mvn compile
),Jetty 将在 Java 类发生更改时重新启动上下文。
【讨论】:
Jetty 重新部署类时出现 404 错误。任何建议如何避免它们?另请参阅此问题:***.com/questions/23343243/… 不幸的是,零停机时间的重新部署需要在 Java 世界中付出很多努力:( 编辑:将尝试这个:rafaelsteil.com/zero-downtime-deploy-script-for-jetty以上是关于嵌入式码头热部署的主要内容,如果未能解决你的问题,请参考以下文章
为啥有人会使用 jetty-maven-plugin 与嵌入式码头
如何让 WebApp 在嵌入式码头的类路径上找到应用程序属性?