Jetty autorefresh/autoload用于快速测试

Dom*_*nik 12 java maven-2 jetty

从PHP我习惯于.php在修改源文件后保存文件并重新加载浏览器.我怎么能用JAVA和Jetty做到这一点?当我保存我的网络服务时,我目前停止了码头服务器并再次启动它mvn jetty:start,那是什么样的非复杂的方式来到我想去的地方?

bco*_*lan 20

从命令行:

mvn -Djetty.reload=automatic -Djetty.scanIntervalSeconds=2 jetty:run
Run Code Online (Sandbox Code Playgroud)

如果您依赖于Eclipse,请确保已自动启用Project-> Build,以便重新编译这些类.

我没有尝试过配置文件的方法,但是有关Jack Murphy方法的更多细节可以在这里找到:http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin


car*_*ing 10

那么,PHP和Java之间的区别在于前者是解释器,而后者是基于编译器(二进制).在PHP中,代码在执行时得到验证,而在Java中,您需要先编译它.在Java中,当您使用JSP-s时,可以通过点击浏览器中的刷新按钮来保存它们并重新加载它们(当然,如果它在开发模式下运行).如果更改类,则需要重新启动服务器.如果您只是更改Web资源,则只需scanInterval为Jetty Maven插件定义变量即可.这将负责更新您的Web资源.

[已编辑]添加了下面Jack Murphy评论的代码,以便格式正确.

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <configuration>
        <scanIntervalSeconds>2</scanIntervalSeconds>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

  • 您建议的代码是修改pom.xml,如下所示:`<plugins> <plugin> <groupId> org.mortbay.jetty </ groupId> <artifactId> maven-jetty-plugin </ artifactId> <configuration> <scanIntervalSeconds > 2 </ scanIntervalSeconds> </ configuration> </ plugin> </ plugins>`它就像一个魅力. (3认同)