我想知道是否可以将 grunt 和 livereload 与我当前使用 maven 和 jetty 的 java web 应用程序一起使用?
我当前的 java web 应用程序的工作方式是我运行 maven 来构建 webapp,它还创建了一个本地 jetty 服务器,我的 java 应用程序在上面运行。我希望能够使用 jetty 服务器进行 livereload,而不是让 grunt 创建一个新的本地主机服务器,它正在寻找要加载的 index.html 页面。
Gruntfile.js(只是我的 gruntfile.js 中的几个片段)
var LIVERELOAD_PORT = 35729;
var lrSnippet = require('connect-livereload')({
port: LIVERELOAD_PORT
});
var mountFolder = function (connect, dir) {
return connect.static(require('path').resolve(dir));
};
connect: {
options: {
port: 9000,
hostname: '*'
},
livereload: {
options: {
middleware: function (connect) {
return [lrSnippet, mountFolder(connect, 'src/main/webapp/')];
}
}
}
},
open: {
server: {
path: 'http://localhost:<%= connect.options.port %>'
}
}
最佳答案
你可以这样使用: https://github.com/davidB/livereload-jvm
我这样做的方法是:以编程方式创建一个 jetty 服务器实例,并与其一起创建一个 LRServer(上述实现还监视您选择的文件夹中的更改,并在发现更改时通知客户端/浏览器)。为了包含 livereload.js 客户端脚本,我依赖于我的框架 (Apache Wicket),我将其配置为在开发模式下包含脚本。
我确定您可以为此创建一个小的 maven 插件,或者甚至通过 maven(例如使用 exec-maven-plugin http://mojo.codehaus.org/exec-maven-plugin/)生成一个新的 jvm 并使用此 livereload 实现。
关于java - Grunt,Livereload 与 maven 和 jetty 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19823509/