Nah*_*ios 21 tomcat portlet hotdeploy intellij-idea liferay
我正在开发一个Liferay portlet,我无法忍受等待Maven构建.war文件,然后将.war复制到LifeRay的自动部署目录,最后等待(再次)直到LifeRay完成部署.这就是为什么我要构建,启动Tomcat(与LifeRay捆绑在一起)并通过Intellij IDEA部署我的portlet,并启用热部署.
我尝试使用IntelliJ中的Running Liferay(来自Liferay Wiki),但无法使其工作.
我也试过以下问题,但没有结果:
环境:
有谁知道怎么做?
在服务器上部署 .war 文件 (Liferay+Tomcat Bundle) --> 讨论将 .war 文件放入 liferay 部署目录中,这不是自动部署。
从技术上讲,这是自动部署,因为它是由应用程序服务器处理的AutoDeploy Scanner
,但这可能不是您所说的自动部署或热部署。
如何使用 Liferay 和 Maven 高效地编写 portlet?--> 我想配置Intellij IDEA,不想使用其他IDE。我没有尝试过 JRebel。
IDEA 很糟糕,不要改变它。然而,即使我JRebel
个人不使用它,我也从正在使用它的同事那里听到了很多积极的反应。不要放弃这个选项 - 你可能想看看这个教程或者也许这个。
现在是答案部分:这可能更多的是一个提示,而不是一个精确的解决方案,但我已经使用它很长时间了。如果您不想重新部署需要构建的整个模块,并且您的服务器配置为允许远程调试,则可以使用 IDEA 热部署它。
当您对代码进行一些更改并且想要测试它时,只需连接到正在运行的应用程序服务器,就好像您要远程调试它并编译您更改的类一样。它将自动进行热部署。然后断开/结束调试并检查您的更改!
如果您对类的结构更改太多,或者更改方法的参数,则这不起作用,但当您尝试修复方法体内的空指针时,它会很有帮助。只需连接并编译即可。
如果您不想使用 JRebel,希望它对您有所帮助。
提示:如果您想使用自动部署方法(文件夹“deploy”)简化部署,那么您可以通过创建配置文件仅指定要构建的模块来加快部署速度:
在您的主目录(顶级)中pom.xml
有一个名为profile的标签。您可以在其中添加指定模块的新配置文件。例如:
<profile>
<id>dev</id>
<modules>
<module>your-module</module>
<module>ejbs-for-your-module</module>
</modules>
</profile>
Run Code Online (Sandbox Code Playgroud)
之后,您可以使用 Maven 的配置文件构建您的项目。例如,如果您想使用“dev”配置文件:
mvn 干净安装-Pdev
或者您可以编写一个部署脚本,它将为您执行必要的手动任务。开发人员编写 bash/批处理脚本来清理目标、构建必要的内容、获取战争并将其复制到部署文件夹是很常见的。
归档时间: |
|
查看次数: |
3503 次 |
最近记录: |