java - Grunt,Livereload 与 maven 和 jetty 服务器

标签 java javascript maven gruntjs livereload

我想知道是否可以将 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/

相关文章:

javascript - jquery中DatePicker第二次未加载

javascript - 我如何使用 javascript 来实现这样用户只能在 Lottie 动画完全播放后触发悬停事件?

java - Mockito 没有模拟成员变量方法的返回值

java - 如何编写单元测试?

javascript - 使用包括脚本的长 block 动态更改 div 的源/内容

java - 如何使用maven配置文件和覆盖层来构建和打包多个指定项目?

maven - 如何使用片段插件修补 eclipse 插件并将其部署到我的 eclipse 产品中?

java - 如何显示java arraylist的不同步性?

java - 方法返回的对象是什么类型?

java - 无法在 wro4j-maven-plugin (NPE) 中使用 ConfigurableWroManagerFactory