TOOL/IDE 2017. 1. 18. 15:45

!markdown


# JRebel(제이레벨)


JRebel을 사용하면, 각 모듈별로 rebel.xml을 생성하여 classpath경로를 지정해줘야한다.


Workspace를 구성할때 마다 공통된 Root Project의 절대경로를 


모듈마다 재적용하기는 껄끄럽다!



-----

## ${rebel.workspace.path} 라는 변수를 지원한단다. 


- 참조문서에서는 ${rebel.workspace.path}기능이 있다고 하나, 변수 적용이 되지 않았다. 

```

  <classpath>

    <dir name="${rebel.workspace.path}/MetaStream/build/classes/main">

    </dir>

  </classpath>

```


    [https://manuals.zeroturnaround.com/jrebel/standalone/config.html#jar-configuration](https://manuals.zeroturnaround.com/jrebel/standalone/config.html#jar-configuration)



-----

## 대안

  

  `JRebel`의 `rebel.xml`의 Workspace Root경로를 변수로 두고, VMoption으로 변수값을 넣는 방법이다.




#### 1. 각 모듈의 rebel.xml


```xml

<classpath>

     <dir name="${meta.workspace.path}/module/build/classes/main">

     </dir>

</classpath>

```




#### 2. VM option 설정 


- 경로 설정


```sh

   -Dmeta.workspace.path=D:\path\to\workspaces

```


- 메모리 + 경로 설정


```sh

-Xms512m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=1024m -Dmeta.workspace.path=D:\path\to\workspaces

```




### 3. 참조


  - JRebel Gradle Plugin

[https://manuals.zeroturnaround.com/jrebel/standalone/gradle.html#gradle-rebel-xml](https://manuals.zeroturnaround.com/jrebel/standalone/gradle.html#gradle-rebel-xml)


  - JRebel rebel.xml path

    [https://manuals.zeroturnaround.com/jrebel/standalone/config.html#configuration](https://manuals.zeroturnaround.com/jrebel/standalone/config.html#configuration)