Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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
Java 对应用程序(非IDE)支持JRebel意味着什么?_Java_Eclipse_Intellij Idea_Jvm_Jrebel - Fatal编程技术网

Java 对应用程序(非IDE)支持JRebel意味着什么?

Java 对应用程序(非IDE)支持JRebel意味着什么?,java,eclipse,intellij-idea,jvm,jrebel,Java,Eclipse,Intellij Idea,Jvm,Jrebel,我有一个Eclipse插件,可以作为轻型主机使用,并且可以在上面运行应用程序。我正在努力改进开发过程,并考虑使用JRebel 根据我在FAQ中阅读的内容,JVM以JRebel jar作为插件愉快地运行,任何为JRebel声明的类在更改时都会重新加载,而相应的应用程序jar正在运行 所以,我“简单地”启动Eclipse或IntelliJ with JRebel plugin for IDE,启动主机with JRebel plugin for JVM,在主机中安装应用程序,再次启动JAR with

我有一个Eclipse插件,可以作为轻型主机使用,并且可以在上面运行应用程序。我正在努力改进开发过程,并考虑使用JRebel

根据我在FAQ中阅读的内容,JVM以JRebel jar作为插件愉快地运行,任何为JRebel声明的类在更改时都会重新加载,而相应的应用程序jar正在运行

所以,我“简单地”启动Eclipse或IntelliJ with JRebel plugin for IDE,启动主机with JRebel plugin for JVM,在主机中安装应用程序,再次启动JAR with JRebel plugin for JVM,我很高兴看到与运行JAR相关的代码行和在更改时重新加载的类

但是。。。阅读JRebel,沿着页面底部,我可以看到JRebel支持的服务器和其他应用程序

我理解对IDE的支持需求,因为JRebel必须连接源代码的行,正如我在IDE中看到的,它们是在JVM中运行的字节码。嗯


但这意味着什么-服务器或JRebel支持的其他应用程序?如果任何jar都可以在JVM中使用JRebel jar作为插件运行,就像他们在FAQ中解释的那样,那么需要什么特殊支持呢?换句话说,在什么意义上应用程序可以不受支持?换句话说,我们的插件和应用程序不受支持

JRebel的核心支持重新加载类,因此您可以像重新启动应用程序一样看到结果。这包括通过反射和操作类元数据的其他JDK工具访问类信息

正如本文所提示的,仅进行类重新加载的主要问题是,几乎所有操作都在缓存中间结果,并且仅在应用程序开始时计算一些信息。假设一个类或框架配置文件在运行时不发生更改通常是一个不错的选择

因此,JRebel必须提供额外的集成,以保持类重新加载的假象,因为现在大多数应用程序都依赖于大量的库、应用程序服务器和框架。例如,spring应用程序将只在启动时扫描组件并对bean进行连接。简单的类重新加载是不够的,因此,如果需要,额外的集成必须重新扫描并重新连接bean

然而,也有很多库不需要额外的支持。术语supported表示特定服务器或框架具有所需的集成,并且每天都运行集成测试。如果未列出任何库或框架,则表示它未经测试或不需要额外集成


作为补充说明,JRebel在编译类文件上工作,因此除了调试器之外,IDE不需要支持。任何人都可以使用vim开发java,并可以很好地使用JRebel,例如。

JRebel的核心允许重新加载类,这样您就可以看到重新启动应用程序的结果。这包括通过反射和操作类元数据的其他JDK工具访问类信息

正如本文所提示的,仅进行类重新加载的主要问题是,几乎所有操作都在缓存中间结果,并且仅在应用程序开始时计算一些信息。假设一个类或框架配置文件在运行时不发生更改通常是一个不错的选择

因此,JRebel必须提供额外的集成,以保持类重新加载的假象,因为现在大多数应用程序都依赖于大量的库、应用程序服务器和框架。例如,spring应用程序将只在启动时扫描组件并对bean进行连接。简单的类重新加载是不够的,因此,如果需要,额外的集成必须重新扫描并重新连接bean

然而,也有很多库不需要额外的支持。术语supported表示特定服务器或框架具有所需的集成,并且每天都运行集成测试。如果未列出任何库或框架,则表示它未经测试或不需要额外集成


作为补充说明,JRebel在编译类文件上工作,因此除了调试器之外,IDE不需要支持。任何人都可以使用vim开发java,并可以很好地使用JRebel。

我可以配置要侦听的类的文件夹列表,它们的更改将导致重新加载?所以,对于我的应用程序,我可以设置所需的一切,而不需要任何“支持”?完全正确!只需为rebel.xml配置类的路径并重新加载。判断应用程序是否需要任何支持的最佳方法是通过各种重新加载来尝试。如果您确实发现重新加载不会提供与应用程序重新启动相同的输出的用例,您可以将一行放到support@zeroturnaround.com如果需要的话,我们非常乐意调查并帮助创建自定义插件。我可以配置将被监听的类的文件夹列表,它们的更改会导致重新加载吗?所以,对于我的应用程序,我可以设置所需的一切,而不需要任何“支持”?完全正确!只需为rebel.xml配置类的路径并重新加载。判断应用程序是否需要任何支持的最佳方法是通过各种重新加载来尝试。如果您确实发现重新加载不会提供与应用程序重新启动相同的输出的用例,您可以将一行放到support@zeroturnaround.com如果需要,我们非常乐意调查并帮助创建自定义插件。