在NetBeans中使用JRebel

时间:2016-03-26 10:46:21

标签: java-ee netbeans jrebel netbeans-8.1

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

enter image description here

我正在将JRebel 6.4.1用于NetBeans(8.1)。它在Web应用程序(因此不是企业应用程序)中工作正常,但在企业应用程序中,IDE继续显示以下消息," 打开项目属性以设置远程服务器",当对EE模块或类库中的Java文件的更改(如上图所示)是同步的。

enter image description here

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

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

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

任何其他建议,如果我遗失了什么?

enter image description here

1 个答案:

答案 0 :(得分:3)

您是否偶然使用工具栏上的同步按钮?如果您没有使用远程服务器功能,则无需按此按钮,因为您正确指出服务器正在localhost上运行。对类文件的更改直接从文件系统中获取,附加到服务器的JRebel代理可以通过每个工件中的rebel.xml找到更新的类。

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

  • 执行清理删除现有类,然后运行以使NB使用内部编译器构建类
  • .netbeans_automatic_buildbuild/classes文件夹
  • 中创建名为target/classes的空文件

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