【问题标题】:Eclipse IDE remote rebug and remote edit a legacy webappEclipse IDE 远程调试和远程编辑旧版 web 应用程序
【发布时间】:2015-10-15 12:14:21
【问题描述】:

我在这里陷入困境,发生的事情是我有一个使用内存数据库的旧版 web 应用程序。该应用程序需要 64GB 的 RAM 才能启动,并且至少需要 30 分钟才能启动。

我必须对此应用程序进行更新/修复。显然,在我的 PC 上启动它是不可能的,所以一切都必须在服务器上完成。我曾考虑在运行此应用程序的 Linux 服务器上设置 Eclipse IDE,但这会带来一系列新问题。我真的很想继续使用我的 PC 的 Eclipse IDE 并对应用程序进行编辑。

我能够使用 Eclipse IDE 的远程调试功能并从 linux 服务器启动这个应用程序没有问题。然而,这还不够。进行编辑后,我需要能够保存/编译文件,并将此更改相对快速地加载到服务器中。每次对应用程序进行一些更新时,我都等不及 30 分钟。

谁能推荐在这种情况下该怎么做的想法?理想情况下,我希望能够在服务器上的 Linux Eclipse IDE 中以 DEBUG 模式启动应用程序,并使用本地/Windows IDE 的远程调试连接到该实例。我想在我的 Windows Eclipse IDE 中进行更改,然后快速将文件复制到 linux 服务器,在 Linux Eclipse IDE 中提取它们,在以调试模式运行的 Eclipse IDE 实例中编译它们,并有效地“热交换”更改,从而避免需要等待 30 分钟让应用程序启动备份......但是当我尝试这样做时,有一个警告......我似乎无法在 Linux 中启动 webapp Eclipse IDE 在调试模式和远程调试连接到它,我在 Eclipse 中遇到的错误是:

"Cannot load this JVM TI agent twice"

我知道发生了什么:本地调试器正在使用 -agentlib:jdwp 参数启动 tomcat,并且在它之上,我试图强制它也以相同的参数启动,因此它会抱怨,但是有什么方法可以欺骗它让我从我的 Windows 服务器远程连接到这个调试会话?

【问题讨论】:

    标签: eclipse debugging tomcat ide


    【解决方案1】:

    我设法通过更新 Tomcat 的 context.xml 以支持可重新加载模式来解决这个问题:

    <Context reloadable="true">
    

    并在应用程序中将其设置为可在 WEB-INF/web.xml 中重新加载:

    <web-app reloadable="true">
    

    现在我可以在本地 Windows Eclipse IDE 中进行编辑,保存它们,它们会在服务器端自动更新。

    【讨论】:

      猜你喜欢
      • 2012-08-04
      • 2012-01-26
      • 1970-01-01
      • 2013-12-23
      • 2014-08-13
      • 2013-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多