控制 JRebel 包范围

Controlling JRebel package scope

我正在尝试加快使用 JRebel 调试的代码的执行速度。特别是,我注意到框架代码很慢。我想知道我是否可以告诉 JRebel 忽略某些包,就像我们可以设置 JProfiler 忽略某些包和模式一样。

你绝对可以。

  • 使用系统 属性(或添加到 jrebel.properties)就是为了这个目的。更多信息,请访问 JRebel agent properties

    -Drebel.exclude_packages=PACKAGE1,PACKAGE2,...
    
  • 使用 Ant-styled 模式在 rebel.xml 中指定排除的包。更多信息请见 rebel.xml configuration

    <?xml version="1.0" encoding="UTF-8"?>
    <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://update.zeroturnaround.com/jrebel/rebel-2_1.xsd">
      <classpath>
        <dir name="/path/to/module/build/directory/root">
          <exclude name="com/yourapp/package1/internal/**"/>
        </dir>
      </classpath>
    </application>
    

这两种方式的工作原理相似,但由于第二种方式可以单独自定义每个模块,因此通常是首选方式。