java - JRebel 无法在外部 tomcat 7 上工作

标签 java eclipse tomcat server jrebel

出于某种原因,我无法使用 Eclipse 在外部 Tomcat 7 上运行 JRebel。如果我在 IDE 中使用服务器运行时,一切正常,但如果我从命令行启动服务器并在外部部署应用程序,JRebel 不会反射(reflect)我对服务器的更改。

以下是我配置和部署项目的方式:

  • 在项目配置选项卡的项目上启用JRebel
  • 启动设置为从命令行本地运行
  • 根据生成的配置创建catalina-jrebel.bat
  • 使用maven构建项目
  • 使用catalina-jrebel.bat run启动服务器
  • 通过 Tomcat 的应用程序管理器在服务器上部署 war 文件

现在,如果我修改示例 Servlet 并保存,则什么也不会发生。应用程序行为没有改变,控制台中没有任何内容。

我是否遗漏了什么,以及如何调试问题?

这里是catalina-jrebel.bat的内容

@echo off
set REBEL_BASE=C:\Users\tutoivon\.jrebel
set JAVA_OPTS="-javaagent:C:\SLO\eclipse\plugins\org.zeroturnaround.eclipse.embedder_6.4.4.RELEASE\jrebel\jrebel.jar"  %JAVA_OPTS%
call "%~dp0\catalina.bat" %*

最佳答案

一些你可以自己检查的东西:

  1. 服务器以 JRebel 横幅启动 - 因此您可以确定 JRebel 代理确实已连接到服务器。
  2. 在横幅中它说您有有效的许可证 - 没有许可证,不能重新加载。
  3. 构建的 .warWEB-INF/classes 中包含一个 rebel.xml - 这有助于 JRebel 找到更新类的位置通过 IDE。
  4. rebel.xml 中的路径是绝对正确的,没有使用占位符(例如 ${rebel.workspace.path})——如果使用了占位符,则它们必须通过传递来定义,例如-Drebel.workspace.path=/path/to/workspaceJAVA_OPTS。如果操作正确,JRebel 还会在服务器日志中记录一行,例如 JRebel: Monitoring directory '/path/in/rebelxml'

如果执行这些步骤后仍然无法正常工作,请联系 support@zeroturnaround.com。

关于java - JRebel 无法在外部 tomcat 7 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37339922/

相关文章:

java - 在 Spring boot 中使用服务包装器而不是 jar 运行有什么好处?

java - 如何使用 JFileChooser.showSaveDialog 保存文件?

java - 使用 subclipse 合并从主干到分支的更改

eclipse - 如何在不启动eclipse的情况下运行网页

web-services - tomcat 上出现 CXF 错误的 Restful Web 服务

java - 在通话期间停止重复闹钟

java - itext 将 PDF 分割成多个 PDF,但大小相同

java - 如何在 Junit 4 中自定义 TestSuite 测试?

eclipse - 如何将参数/开关添加到Eclipse/Maven Run Configuration

deployment - tomcat删除爆炸的webapps