【问题标题】:Getting JRebel to work with 'mvn tomcat:run'让 JRebel 使用 'mvn tomcat:run'
【发布时间】:2022-01-17 14:17:24
【问题描述】:

我想知道当我从命令行执行“mvn tomcat:run”时,是否有人可以指出让 JRebel 工作的方向。我可以让 JRebel 在我的 IDE (IntelliJ IDEA) 中工作,但是在 IDE 中运行感觉有点笨拙。当我运行测试时,我不喜欢在它旁边运行另一个进程——称之为习惯。

除此之外,我在尝试使用 JRebel 时遇到了一些服务器锁定问题……而且我不希望 IDE 因此挂起。我一直在手动终止该过程,并将控制权交还给 IDEA……但最好不要让它在 IDEA 中运行。

我试过用谷歌搜索这个,但我还没有找到如何将 JRebel 与 tomcat 插件结合。

谢谢

【问题讨论】:

    标签: java tomcat maven maven-plugin jrebel


    【解决方案1】:

    设置 MAVEN_OPTS 系统变量没有帮助吗?

    只是和例子:

    1. mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
    2. cd my-webapp
    3. 在示例的 pom.xml 中添加以下内容:

      org.zeroturnaround
      jrebel-maven-plugin


      生成-rebel-xml
      流程资源

      生成目标>
      目标>
      执行>
      执行>
      插件>
    4. 设置 MAVEN_OPTS=-javaagent:/path/to/jrebel.jar
    5. mvn tomcat:run

    在控制台中,您将看到来自 JRebel 的如下消息:

    JRebel:将监视目录“C:\projects\my-webapp\target\classes”的更改。
    JRebel:将监视目录“C:\projects\my-webapp\src\main\webapp”的更改。

    【讨论】:

    • 我不知道 MAVEN_OPTS。我正在查看实际的 pom.xml。谢谢!
    • 对我来说只是将插件添加到 pom 中效果很好。谢谢!
    【解决方案2】:

    如果你碰巧在 eclipse 中执行了 tomcat:run 并安装了 JRebel eclipse 插件,你也可以简单地在运行配置中启用 JRebel。

    【讨论】:

      【解决方案3】:

      当我今天尝试时。我没有看到我的更改在运行时得到反映。我必须重新启动应用程序才能看到更改生效

      【讨论】:

      • Pushkar,可能有几个原因。 Javaagent 是否正确运行?你有有效的执照吗?您的应用程序是否有有效的 rebel.xml 映射?进行更改后,这些类实际上是否重新编译?转至 support@zeroturnaround.com 寻求帮助。
      猜你喜欢
      • 2011-06-11
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      • 2013-07-10
      • 2012-10-24
      • 1970-01-01
      相关资源
      最近更新 更多