JRebel没有处理外部tomcat 7

时间:2016-05-20 06:57:26

标签: java eclipse tomcat server jrebel

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

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

  • 从项目配置标签
  • 启用项目JRebel
  • 启动设置为Run locally from command line
  • 根据生成的配置创建catalina-jrebel.bat
  • 使用maven构建项目
  • 使用catalina-jrebel.bat run
  • 启动服务器
  • 从Tomcat的application manager
  • 部署服务器上的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 个答案:

答案 0 :(得分:1)

您可以自行检查的一些事项:

  1. 服务器启动时使用JRebel横幅 - 因此您可以确定JRebel代理实际上已连接到服务器。
  2. 在横幅中,它表示您拥有有效的许可证 - 没有许可证,没有重新加载。
  3. 构建的.warrebel.xml内包含WEB-INF/classes - 这有助于JRebel找到IDE更新的类的位置。
  4. rebel.xml中的路径是绝对正确的,没有占位符(例如${rebel.workspace.path}) - 如果使用占位符,则必须通过传递例如-Drebel.workspace.path=/path/to/workspaceJAVA_OPTS。如果正确完成,JRebel还将在服务器日志中记录诸如JRebel: Monitoring directory '/path/in/rebelxml'之类的行。
  5. 如果在执行这些步骤后仍无法使其工作,请联系support@zeroturnaround.com。