Grunt,带有maven和jetty服务器的Livereload

Ank*_*nks 5 javascript java maven gruntjs livereload

我想知道它是否可以使用grunt和livereload与我当前使用maven和jetty的java web应用程序?

我当前的Java Web应用程序的工作方式是我运行maven来构建webapp,它还创建了一个运行我的java应用程序的本地jetty服务器.我希望能够使用jetty服务器进行livereload,而不是让grunt创建一个新的localhost服务器,它正在寻找要加载的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 %>'
      }
    }
Run Code Online (Sandbox Code Playgroud)

eme*_*ino 2

您可以使用这个: 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实时重载实现。