M.N*_*mjo 1 intellij-idea jrebel
我想使用jrebel与intellij IDEA和JBOSS AS7.
(有一个Web应用程序(所以有WAR)).
通过apache-ANT,构建my-WAR并将其部署在JBOSS AS下.
我知道如何在my-WAR中将类或资源的任何更改引入jrebel(如果我没有记错的话!),如下所示:
(在rebel.xml中)
<classpath>
<dir name="D:/project/myProject/out/production/myProject">
</dir>
</classpath>
<web>
<link target="/">
<dir name="D:/project/myProject/resources">
</dir>
<dir name="D:/project/myProject/view">
</dir>
</link>
</web>
Run Code Online (Sandbox Code Playgroud)
但是,真的,"jerebel jar文件" my-WAR 在哪里?
in =>"warFile> WEB-INF> lib"?我没有看到它.
请帮我.
jrebel.jar打包在IntelliJ IDEA的JRebel插件中.它不必与WAR本身一起部署.当您通过"使用JRebel运行"或"使用JRebel调试"启动时,JRebel插件将为命令行设置正确的JVM参数:
-javaagent:/path/to/jrebel.jar
Run Code Online (Sandbox Code Playgroud)
更新:使用-agentpath JVM选项配置较新版本的JRebel :
-agentpath:${JREBEL_HOME}/lib/<platform-specific-binary>
Run Code Online (Sandbox Code Playgroud)
请参阅正确设置的文档参考.
如果从IDE启动服务器,则不必自己执行此操作.如果从命令行启动服务器,则必须使用正确的jrebel.jar路径自行添加JVM参数,如下所述:http://manuals.zeroturnaround.com/jrebel/standalone/launch-from-command -line.html#JBoss的-7-X
Java代理拦截类加载,因此必须在其他类之前加载.正如您可能已经猜到的那样,jrebel.jar是一个Java代理,因此不需要将它打包到WAR中.
相反,配置文件rebel.xml必须打包在WAR-WEB/INF/classes目录中.JRebel使用rebel.xml来检测已编译的类和资源.因此,在部署应用程序时,JRebel会找到rebel.xml配置文件,并且不会从WAR本身加载应用程序类,而是使用该rebel.xml文件中指定的路径.这就是为什么rebel.xml必须在战争中,因为你也可以从命令行而不是IDE启动服务器.
| 归档时间: |
|
| 查看次数: |
593 次 |
| 最近记录: |