我正在开发一个Liferay,我无法忍受等待Maven构建.war文件,然后将该.war复制到LifeRay的自动部署目录,直到LifeRay完成部署。这就是为什么我希望构建、启动Tomcat (与LifeRay捆绑),并通过Intellij部署我的portlet,并启用热部署。
我试过使用从IntelliJ运行Liferay (来自Liferay ),但无法让它工作。
我也尝试了以下问题,但没有结果:
环境:
有人知道怎么做吗?
发布于 2014-02-06 07:34:24
在服务器上部署.war文件(Liferay+Tomcat Bundle) -->讨论如何将.war文件降到救生筏部署目录,而这不是自动部署。
从技术上讲,这是自动部署,因为它是由应用服务器的AutoDeploy Scanner处理的,但可能不是自动部署或热部署的意思。
如何使用Liferay和Maven高效地编写portlets程序?-->我想配置Intellij,不想使用另一个IDE。我没有和JRebel试过。
想法石头,不要改变它。然而,即使我个人不使用JRebel,我也从使用它的同事那里听到了很多积极的反应。不要放弃此选项--您可能需要签出本教程或这一个。
现在,给出了答案:--这可能更像是一个提示,而不是一个确切的解决方案,但我已经使用了很长时间。如果您不想重新部署需要构建的整个模块,那么如果您的服务器配置为允许远程调试,则可以使用IDEA对其进行热部署。
当您在代码中进行一些更改并想要测试它时,只需连接到正在运行的应用程序服务器,就好像要远程调试它并编译您更改的类一样。它会自动进行热部署。然后断开/结束调试,然后检查您的更改!
如果您过多地更改了类的结构,或者更改了方法的参数,这是不起作用的,但是当您试图修复方法主体中的空指针时,这是一个很大的帮助。只需连接并编译即可。
如果您不想使用JRebel,希望它对您有所帮助。
提示:如果您想使用自动部署方法(文件夹"deploy")来简化您的工作,那么您可以通过只指定要构建的模块来加速它,方法是创建一个概要文件:
在您的主(顶级) pom.xml中有一个名为profiles的标记。您可以在那里添加一个新的配置文件,并指定模块。例如:
<profile>
<id>dev</id>
<modules>
<module>your-module</module>
<module>ejbs-for-your-module</module>
</modules>
</profile>之后,您可以使用配置文件使用Maven构建您的项目。例如,如果您想使用"dev“配置文件:
清洁安装-Pdev
或者您也可以编写一个部署脚本,它将为您完成必要的手动任务。开发人员编写bash/批处理脚本以清理目标、构建必要的东西、获取wars并将它们复制到部署文件夹是很常见的。
https://stackoverflow.com/questions/16490128
复制相似问题