我习惯了mvn,但我正在测试Gradle(v1.8)进行小型Web开发项目。
我注意到Jetty Gradle插件支持自动扫描和热部署,所以我启用了它。我的目标是从Eclipse重新编译并在每次更改Controller等时让Jetty重新加载上下文。
但是,这不起作用,主要是因为Gradle编译输出转到 build / ,但是Gradle Eclipse插件创建了一个.classpath配置,它将所有Eclipse输出定向到 / bin < / strong>(甚至混合测试和主要源文件夹)。
有办法吗?...
根据我的研究,我已经确定了三个解决方法,但没有一个解决了上述问题(如果您有相关评论或更多建议,我会张贴它们)
答案 0 :(得分:3)
所以你对微调热部署很感兴趣,对吧?
请考虑使用Gretty gradle插件:https://github.com/akhikhl/gretty
这是一个在jetty上运行web-apps的高级gradle插件。对于热部署(甚至可能更多),它完全符合您的要求。
披露:我是Gretty插件的作者。
答案 1 :(得分:0)
如果您不想更改为其他插件,则解决方法有以下两个步骤:
将以下配置添加到build.gradle
:
jettyRun {
reload = "automatic"
scanIntervalSeconds = 1
}
每次更改java代码后,运行以下任务:
gradle compileJava
因为jetty正在观看*.class
个文件,所以只有在*.class
个文件发生变化后才会重新加载。
请参阅此链接:https://discuss.gradle.org/t/hot-deploy-with-jetty-plugins-jettyrun/7416