首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >立即重新部署Java应用程序

立即重新部署Java应用程序
EN

Stack Overflow用户
提问于 2011-10-14 10:57:12
回答 4查看 5.3K关注 0票数 10

我对Java非常陌生,一直在为部署过程的缓慢而挣扎,我想知道我是否做错了什么。我在Django的经验中,代码的更改会立即发生,而且热部署Java应用程序似乎有点混乱--有许多东西声称是热部署的(Glassfish、Eclipse躁狂热部署、Jetty、JRebel等)。

我的项目是一个Maven项目,我正在使用Netbeans进行部署。该站点使用Spring、JSF和Hibernate框架。

在Netbeans中,根据下面的屏幕快照,在保存上部署似乎是被启用的,但是单击/取消单击是不可能的,因为它声称从我的pom.xml获取信息(尽管我的pom.xml中没有这样的字段(只有依赖项))。

现在,对某些文件的更改似乎立即生效。这些文件包括:- JSF文件-静态文件

更改要求进行以下部署:-任何XML文件-任何属性文件,甚至本地化属性文件-任何java文件

对这些的更改要求我手动部署,重新部署需要半分钟,尽管我目前只有2-3个类,基本上只有一个用户类和一个授权类。该项目目前只允许登录,尽管如此,编译大约需要几秒钟;容器(Glassfish)似乎要消耗大约600 MB的内存,甚至在几次部署之后还会出现PermGen错误,我需要使用Task来终止java进程。(我读到这与每次重新部署后的垃圾收集器泄漏有关,我甚至使用jhat生成了一个配置文件,但我收到了数千个类、类、Spring、Hibernate类等的列表。)

我也听说过j反演,并尝试运行它,但是它似乎与我的Netbeans版本(7.0)不兼容,即使它看起来正在运行,对任何java文件的任何修改仍然需要重新部署。

我能做些什么来补救这些问题吗?或者在Java中,在对任何Java文件的每次更改之后等待大约1分钟是正常的吗?这个问题大大降低了生产力。

下面是我在部署应用程序时的Glassfish输出:http://pastebin.com/7FhZ6AVh

EN

回答 4

Stack Overflow用户

发布于 2011-10-20 19:40:50

我既没有找到可信的来源,也没有官方的消息来源,但既然你没有答案,我想指出我发现的两件事。

第一个是这个常见问题站点上的NetBeans,描述如何为Maven项目打开编译。在默认情况下,此设置似乎是关闭的,并且仅在默认情况下用于测试。为方便起见:

转到项目属性对话框,编译面板,为主源执行打开它。

第二个是,我必须强调,我并不完全理解这一点,NetBeans部署一个似乎有两种不同的方式。第一种方法是就地部署,它似乎与手动将.war文件部署到服务器相同。第二个是增量部署,如果它与增量编译类似,这意味着当应用程序被热部署时,您只部署更改过的文件。

当您单击项目上下文菜单中的RunDeploy时,就地部署似乎是默认的部署方法。当项目已经部署并再次单击Run (或使用Run工具栏按钮)时,就会发生增量部署。

我想指出的是,NetBeans的常见问题,虽然在netbeans.org网站上不是一个正式的出版物。任何人都可以创建一个常见问题,这些信息可以而且将变得过时而无需修改。

编辑:经过一些思考之后,我决定所谓的增量部署并不是一种不同的部署方式,只是在第二次Run应用程序时,它就进行了增量部署。

编辑:注意上面的说明是指向Compile面板,而不是您在屏幕截图中选择的Run面板。下面是我的屏幕截图,显示您需要在for both application and test execution面板中选择Compile,默认为for test execution only

票数 5
EN

Stack Overflow用户

发布于 2011-12-17 18:22:47

JRebel与NetBeans 7.0 (http://plugins.netbeans.org/plugin/22254/jrebel-netbeans-plugin)兼容,实际上它与任何http://plugins.netbeans.org/plugin/22254/jrebel-netbeans-plugin都兼容。

票数 2
EN

Stack Overflow用户

发布于 2013-11-08 13:43:37

这是来自NetBeans团队的Geertjan Wielenga在NetBeans 7.2.1和GlassFish 3.1.2上创建JRebel的一个很好的视频:

如何在JRebel IDE中开始使用NetBeans:http://www.youtube.com/watch?v=kveXKv2q4Ec

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7766635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档