Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij idea “在哪里?”;jrebel JAR文件;在我的战争档案里?_Intellij Idea_Jrebel - Fatal编程技术网

Intellij idea “在哪里?”;jrebel JAR文件;在我的战争档案里?

Intellij idea “在哪里?”;jrebel JAR文件;在我的战争档案里?,intellij-idea,jrebel,Intellij Idea,Jrebel,我想将jrebel与intellijidea和jbossas7一起使用 (有一个web应用程序(WAR也是如此)) 通过ApacheAnt,构建我的WAR并在JBossAS下部署它 我知道如何在my WAR中向jrebel引入类或资源的任何更改(如果我没弄错的话!),如下所示: (在rebel.xml中) 但是,真的,“jerebel jar文件”我的战争在哪里 在=>“warFile>WEB-INF>lib”中?我没有看到它 请帮帮我。jrebel.jar打包在IntelliJ IDEA的

我想将jrebelintellijideajbossas7一起使用

(有一个web应用程序(WAR也是如此))

通过ApacheAnt,构建我的WAR并在JBossAS下部署它

我知道如何在my WAR中向jrebel引入类或资源的任何更改(如果我没弄错的话!),如下所示:

(在rebel.xml中)


但是,真的,“jerebel jar文件”我的战争在哪里

在=>“warFile>WEB-INF>lib”中?我没有看到它


请帮帮我。

jrebel.jar打包在IntelliJ IDEA的jrebel插件中。它不必与战争本身一起部署。当您通过“使用JRebel运行”或“使用JRebel调试”启动时,JRebel插件将在命令行中设置正确的JVM参数:


更新:JRebel的较新版本是使用-agentpathJVM选项配置的:

-agentpath:${JREBEL_HOME}/lib/<platform-specific-binary>
-agentpath:${JREBEL_HOME}/lib/
有关正确设置的详细信息,请参阅


如果您从IDE启动服务器,则不必自己动手。如果从命令行启动服务器,则必须自己添加JVM参数,并将正确的路径添加到jrebel.jar,如下所述:

Java代理拦截类加载,因此必须先加载其他类。正如您可能已经猜到的,jrebel.jar是一个Java代理,因此不需要在WAR中打包它

相反,配置文件rebel.xml必须打包在WAR中的WEB-INF/classes目录中。JRebel使用rebel.xml来检测编译的类和资源所在的位置。因此,部署应用程序时,JRebel会找到rebel.xml配置文件,不会从WAR本身加载应用程序类,而是使用该rebel.xml文件中指定的路径。这就是为什么rebel.xml必须在war中,因为您也可以从命令行而不是IDE启动服务器

-javaagent:/path/to/jrebel.jar
-agentpath:${JREBEL_HOME}/lib/<platform-specific-binary>