Netbeans在保存时部署:它应该如何工作?

时间:2013-08-26 19:24:43

标签: java java-ee netbeans glassfish

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

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

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

2)在保存

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

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

好像是黑魔法。

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

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

更新:这是一个maven项目

2 个答案:

答案 0 :(得分:0)

Jira问题的更新应澄清:

  

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

     

- > Deploy on Save(将被称为DoS)是一项补充功能,使您可以将.cl​​ass文件更改部署到服务器   当你保存它们时立即。

     

目前你几乎没有可能:

     

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

     

2)关闭DoS,但让CoS开启 - >在这种情况下你会松动   与“服务器刷新”相关的一切。这意味着你应该拥有   在目标/类中编译的实际类文件,但您将看不到   浏览器中的任何更改

     

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

     

- >在禁用CoS时激活DoS并不具有语义意义,这就是为什么如果您自动禁用CoS,NetBeans的原因   也禁用DoS

     
    

我该如何配置?

  
     

所以这里的结论是,你没有做错任何事   无法以这种方式配置它.NetBeans只是不支持这样的   可能性。但好处是我现在正在开始工作   问题218345这正是你需要的。会有一个新的   复选框(已在Ant Web项目中提供)名为“复制静态”   “保存资源”允许您复制html / jsp / jsf页面   禁用DoS时。

答案 1 :(得分:-2)

我经历了完全相同的行为。 Ant没有问题,但使用maven进行热部署无法正常工作。到目前为止你刚刚写的是什么。

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

mvn eclipse:eclipse

您需要的只是适用于您的应用服务器的适配器,例如为GlassFish。试试吧,值得一试。