最近,在PrimeFaces论坛PrimeFaces IDE Poll中进行了投票,以投票赞成用于开发PrimeFaces应用程序的最佳IDE。 最多人投票支持NetBeans。 NetBeans和Eclipse是免费的IDE。 我最喜欢的IDE IntelliJ IDEA Ultimate不是免费的,我认为这就是为什么在工作中使用它的人较少的原因。 我认为在IntelliJ中显示一些不错的功能是个好主意。 这篇文章将演示开发Web项目时如何为热部署配置IntelliJ。 热部署意味着您可以在运行时更改Web资源或类,并且更改将立即被识别,而无需重新启动服务器。 开发过程中的一项有用功能。 在示例中,我将使用应用程序服务器JBoss 7,但是其他任何服务器也可以用相同的方式进行配置。 IntelliJ Wiki中对IntelliJ和JBoss进行了很好的介绍。 有关在IntelliJ中使用应用程序服务器的一般信息,请参阅此帮助页面 。
我们假设应用服务器已经配置。 下一步是为Web项目配置爆炸的WAR工件。 爆炸的WAR是解压缩的Web应用程序归档文件,这是一种目录结构,可以在应用程序服务器上部署。 IntelliJ自动创建它,但是,您仍然应该转到文件->项目结构->伪像,并确保展开的Web应用程序以扩展名.war结尾。 如果使用Maven,则会在目标文件夹下创建爆炸的WAR。 有关帮助页面的更多信息。
您还应该检查是否启用了热交换。 转到“文件”->“设置”->“调试器”->“ HotSwap”,并确保选中所有复选框,并将“编译后重新加载类”单选按钮设置为“始终”。
下一步,单击“ Edit Configurations…”,然后转到已配置的服务器。 在“运行/调试配置”对话框中,在“停用框架”下拉菜单中选择“更新资源”。 这意味着,当您切换到浏览器时,IntelliJ会将资源文件(JavaScript,CSS)从源位置(src / main / webapp)复制到构建要部署的展开式WAR的目录中。
JVM限制了已更改Java类的热部署。 例如,具有更改的方法签名的类的热部署不起作用。 但是,如果您更改了方法主体,它将起作用。 因此,如果您不使用JRebel来允许对结构进行修改的类进行热部署,则仍然可以依赖IntelliJ。 在Java类中进行更改所需要做的就是重新编译它们。 为此,您可以转到菜单Build –> Compile或按Ctrl + Shift + F9。 之后,转到浏览器并刷新页面以查看更改。
翻译自: https://www.javacodegeeks.com/2013/10/hot-deployment-with-intellij-idea.html