2

我有一个在 WildFly 10.0.0 final 上运行的 Java EE 应用程序,它具有以下图表结构(它不使用 Apache Maven)。

在此处输入图像描述

我正在为 NetBeans (8.1)使用JRebel 6.4.1 。它在 Web 应用程序(因此不是企业应用程序)中运行良好,但在企业应用程序中,当更改EE模块或类库中的 Java 文件(如上图所示)是同步的。

在此处输入图像描述

当对 Web 模块的更改同步时,该消息不会出现。

尽管有消息,对 EE 模块所做的更改会在模块同步时传播,但对类库的更改不会在同步时传播。

由于应用程序在 localhost 上运行,JRebel 远程服务器当前已关闭。是否需要在项目属性对话框中设置服务器 URL?这种情况下的 URL 是什么?

任何其他建议,以防万一我遗漏了什么?

在此处输入图像描述

4

1 回答 1

3

您是否偶然使用了工具栏上的同步按钮?如果您不使用远程服务器功能,则无需按下它,因为您正确指出服务器正在本地主机上运行。类文件的更改直接从文件系统中获取,连接到服务器的 JRebel 代理可以找到更新的类,这要归功于rebel.xml每个工件中的 。

此外,由于 8.1 版本的 NetBeans 在项目运行期间(至少对于独立项目)并不一定会更新保存在构建目录中的类文件,因此请验证类是否已更新,尽管复选框说明了什么。如果类文件没有得到更新,NetBeans 编译器中也有问题,在他们的FAQ中模糊描述,这本质上意味着如果现有类不是由内部编译器编译的,NetBeans 不会自动编译旧类,而是而是由 Ant 或 Maven 完成。解决它的诀窍是:

  • 执行Clean删除现有类,然后 Run 让 NB 使用内部编译器构建类
  • 创建名为.netbeans_automatic_buildinsidebuild/classestarget/classes文件夹的空文件

如果这没有帮助,如前所述,请联系 support@zeroturnaround.com。为了加快速度,请在重现问题后jrebel.log按照手册向他们发送跟踪级别、您尝试重新加载的类名以及指向此 SO 问题的链接。

于 2016-03-27T13:21:15.557 回答