【问题标题】:Exploded War deployment with IntelliJ Idea, Maven, Tomcat and JRebel使用 IntelliJ Idea、Maven、Tomcat 和 JRebel 部署 Exploded War
【发布时间】:2013-01-06 19:39:43
【问题描述】:

我正在使用 IntelliJ Idea 12、Maven、JRebel 和 Tomcat 开发基于 Web 的应用程序。为了利用 JRebel,自动重新加载对 Spring bean 的更改,我使用了下面 Intellij 提供的爆炸式战争部署

由于一个 Maven 模块,IntelliJ 完全遵循 Maven 的约定将 Java 文件编译到输出文件夹 (target/classes),这与分解的 webapp 目录 (target/spring- mvc-showcase/webapp/web-inf/classes)。因此,Tomcat 和 JRebel 无法重新加载这些新类的更改。

目前,我暂时将 IntelliJ 的输出文件夹配置为指向文件夹 WEB-INF/classes 以便重新加载更改。由于我不想打破 Maven 约定,谁能告诉我一个更优雅的解决方案?

target (Maven generated artifact directory)
  |
   -- classes (compiled)
  |
   -- spring-mvc-showcase (exploded webapp directory)
           |
            -- WEB-INF
                 |
                   -- classes

【问题讨论】:

  • 解决了! JRebel 能够在运行时直接监控和重新加载更改的文件,甚至是打包的战争部署!只需点击项目上的“Generate rebel.xml”,JRebel 就会监控基于 Maven pom.xml 的输出目录。太棒了!

标签: maven web intellij-idea jrebel


【解决方案1】:

这是一个使用 IDEA、Jrebel 和 maven-tomcat 快速启动热部署的简单方法。 IDEA hot deploy web application using JRebel and tomcat7-maven-plugin

【讨论】:

    【解决方案2】:

    正确配置后,当你启动 Tomcat 时,你应该会看到如下内容:

    [2013-01-23 15:39:12] JRebel: Directory '/home/xxx/workspace/xxx/trunk/target/classes' will be monitored for changes.
    [2013-01-23 15:39:12] JRebel: Directory '/home/xxx/workspace/xxx/trunk/src/main/webapp' will be monitored for changes.
    

    然后我所做的是每次更改某些内容时,我执行“制作项目”(在 IDEA 中),而不是运行 maven 包,/target/classes 文件夹得到更新,配置将自动重新加载其类。

    【讨论】:

    • 您的日志非常有用,它帮助我了解了我的 JRebel 配置错误。
    • 我也有同样的问题。实际上,是maven在target/spring-mvc-showcase保持了爆炸性的战争,所以如果你将JRebel指向/target/spring-mvc-showcase/WEB-INF/classes,你每次更改都必须运行maven一类。相反,如果你将它指向观察目标/类,你会得到一个更快的“制作项目”。
    【解决方案3】:

    您是否安装了 IntelliJ IDEA JRebel 插件?它添加了一个动作“生成 rebel.xml”。这将生成一个 rebel.xml 文件,该文件最终应位于部署中的 WEB-INF/classes 中,并将类映射到 IDEA 编译它们的位置。

    【讨论】:

    • 非常感谢。我不知道“rebel.xml”还有一个教程。在为 IntelliJ 安装 JRebel 插件后,我认为它可以正常工作,因为我看到它完美地重新加载了 Spring XML 配置中的更改。
    猜你喜欢
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 2016-06-13
    • 2015-10-20
    • 1970-01-01
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多