2

我正在尝试在 Netbeans 中正确设置保存时部署(或保存时编译,或我应该设置的任何内容)。

我正在努力实现这一目标:

1)如果结构没有改变,则在需要时热替换某些类(按下按钮,新代码替换旧代码)

2) 保存时将我的 jsf 页面 (.xhtml) 复制到 glassfish

1) 大部分时间都在工作;它有时在我部署多次后不起作用(为什么?),或者如果 Netbeans 出于某种原因决定它应该部署整个事情(它确实......有时)2)在某些项目中工作,而不是在其他项目中

好像是黑魔法。

它应该如何工作?我似乎无法让 1) 和 2) 为我的所有项目同时工作。我应该如何配置它?我一定做错了什么,我只需要知道清单是什么。

我前段时间打开了这个:https ://netbeans.org/bugzilla/show_bug.cgi?id=218806

更新:这是一个 Maven 项目

4

2 回答 2

0

Jira 问题的这个更新应该澄清它:

目前有两个重要特性: --> 保存时编译(将被称为 CoS),这基本上意味着您的 java 文件在您保存它们时会立即编译(通常到目标/类)。

--> 保存时部署(将被称为 DoS)是一种补充功能,使您能够在保存 .class 文件更改时立即将它们部署到服务器。

所以目前你的可能性很小:

1)同时打开(CoS和DoS)->这意味着您更改的.java文件将在保存时编译并重新部署到服务器,并且您的静态资源(html,jsp等)将在之后复制到服务器节省。

2) 关闭 DoS 但让 CoS 打开 --> 在这种情况下,您将失去与“服务器刷新”相关的所有内容。这意味着您应该在目标/类中编译了实际的类文件,但您不会在浏览器中看到任何变化

3)关闭两者 - > NB让您负责构建/部署

--> 在禁用 CoS 时激活 DoS 没有语义意义,这就是为什么如果禁用 CoS,NetBeans 也会自动禁用 DoS

我应该如何配置它?

所以这里的结论是,你没有做错任何事情,你不能那样配置它。NetBeans 只是还不支持这种可能性。但好在我目前正在着手处理问题 218345,这正是您所需要的。将有一个名为“Copy static resources on save”的新复选框(已在 Ant Web 项目中可用),它允许您在禁用 DoS 的同时复制 html/jsp/jsf 页面。

于 2013-09-05T13:39:39.727 回答
-2

我经历了完全相同的行为。Ant 没有问题,但是 maven 热部署不能正常工作。到目前为止,你刚刚写的。

答案是切换到 Eclipse >= 4。您可以使用 maven 在控制台中转换您的 NetBeans 项目:

mvn eclipse:eclipse

然后,您只需要一个适用于您的应用服务器的适配器,例如GlassFish。试试看,值得一试。

于 2013-08-26T21:13:05.790 回答