gpt4 book ai didi

tomcat - 从 Intellij Idea 热部署 Liferay Maven portlet 到捆绑的 Liferay Tomcat

转载 作者:行者123 更新时间:2023-11-28 21:44:21 25 4
gpt4 key购买 nike

我正在开发 Liferay portlet,我无法忍受等待 Maven 构建 .war 文件,然后将该 .war 复制到 LifeRay 的自动部署目录,最后(再次)等待 LifeRay 完成部署。这就是为什么我想构建、启动 Tomcat(与 LifeRay 捆绑在一起)并通过 Intellij IDEA 部署我的 portlet 的所有内容,并启用热部署。

我试过 Running Liferay from IntelliJ (来自 Liferay Wiki)但无法正常工作。

我也尝试了以下问题,但没有结果:

环境:

  • Liferay CE 6.1.1(Tomcat bundle )。
  • 使用原型(prototype)的 Maven 项目:liferay-portlet-archetype
  • Intellij IDEA 12.1.2。
  • JDK 6.

有人知道怎么做吗?

最佳答案

Deploy .war file on a server (Liferay+Tomcat Bundle) --> Talks about droping .war file into liferay deploy directory and that's not autodeploy.

从技术上讲,这是自动部署,因为它由您的应用程序服务器的 AutoDeploy Scanner 处理,但它可能不是您所说的自动部署hot-deploy.

How to program portlets efficiently using Liferay and Maven? --> I want to configure Intellij IDEA, don't want to use another IDE. I Didn't try with JRebel.

IDEA 坚如磐石,请不要更改它。然而,尽管我个人不使用 JRebel,但我从使用它的同事那里听到了很多积极的 react 。不要放弃这个选项 - 你可能想查看 this tutorial 或可能是 this one

现在是答案部分:这可能更像是一个提示,而不是一个确切的解决方案,但我已经使用它很长时间了。如果你不想重新部署需要构建的整个模块,你可以使用 IDEA 热部署它,前提是你的服务器配置为允许 remote debugging

当您对代码进行一些更改并且想要测试它时,只需连接到正在运行的应用程序服务器,就好像您要远程调试它并编译您更改的类一样。它会自动进行热部署。然后断开/结束调试并检查您的更改!

如果您过度更改类的结构或更改方法的参数,这将不起作用,但是当您尝试修复例如方法体内的空指针时,它会很有帮助。只需连接并编译即可。

如果您不想使用 JRebel,希望它能对您有所帮助。

提示:如果您想使用自动部署方法(文件夹“deploy”)简化您的部署,那么您可以通过创建配置文件仅指定您想要构建的模块来加快部署速度:

在您的主要(顶级)pom.xml 中,有一个名为profiles 的标签。您可以在那里添加一个带有指定模块的新配置文件。例如:

<profile>
<id>dev</id>
<modules>
<module>your-module</module>
<module>ejbs-for-your-module</module>
</modules>
</profile>

之后,您可以使用配置文件和 Maven 构建您的项目。例如,如果您想使用“dev”配置文件:

mvn clean install -Pdev

或者您可以编写一个部署脚本来为您完成必要的手动任务。开发人员编写 bash/批处理脚本来清理目标、构建必要的东西、选择 war 并将它们复制到部署文件夹是很常见的。

关于tomcat - 从 Intellij Idea 热部署 Liferay Maven portlet 到捆绑的 Liferay Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16490128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com