我正在开发一个在 Tomcat 上运行的 Jetspeed 门户应用程序,使用带有 Sysdeo Tomcat 启动器插件的 Eclipse IDE 来启用在 Tomcat/Jetspeed 中运行的应用程序的调试。
我想知道如何为这个环境启用开发更改的热部署?有谁知道如何配置 Jetspeed 门户 Web 应用程序以从 Eclipse 热部署?在网上实在找不到Jetspeed热部署的任何资料。
我通常创建一个 ant 构建文件,大致基于:
http://tomcat.apache.org/tomcat-6.0-doc/appdev/build.xml.txt
并使用“安装”/“删除”目标部署到远程 tomcat
类似的问题: Remote deploy Tomcat webapp from Eclipse
如果你说的是只在本地机器上开发——你不需要外部插件来 eclipse,它内置了对 Tomcat 和热重新部署的支持。
您可能想看看jrebel。我一直想亲自看看——根据我的理解,jrebel 使更改源代码成为可能,然后能够立即在实时环境(例如 tomcat)中看到结果,而无需重新部署和/或重新启动服务。
显然这不是所有情况的解决方案,但一个简单的符号链接将在许多情况下完成工作,即使在 windows xp 或 windows 7 中,现在允许创建符号链接。
我的解决方案在这里描述
您可以使用内置(在 Java EE 版本中)服务器插件:
publishing
,要么使用FileSync 插件。在那里你可以告诉你项目中的哪些文件夹应该被复制(实时)到你机器上的哪个目录(tomcat/webapps/yourapp)。如果您想将项目签入到其他人将使用它的存储库,只需稍加努力,文件同步配置就可以独立于机器(仅使用一个参数作为 TOMCAT_ROOT)。我知道使用 FileSync 插件并不被普遍接受,并且publishing
是最常见的选项,但 FileSync 为您提供了重新排列类和资源的额外自由。
从您的问题来看,您是否要部署 Jetspeed Portal 项目或 portlet 应用程序并不完全清楚。第一个实际上是一个常规的 Web 应用程序,理论上可以使用 Eclipse WTP 插件进行热部署。如果您正在开发portlet 应用程序,则更复杂,因为它们不是直接部署到Tomcat,而是部署到运行在Tomcat 中的Jetspeed 部署(实际是/webapps/jetspeed-portal/WEB-INF/deploy)。
我使用的一个技巧是使用 Maven 构建脚本部署应用程序。之后,您可以将 tomcat 对您的 portlet 的 web.xml 所做的修改复制到您的 web.xml 中,并直接从 Eclipse 部署。