Eclipse IDE远程rebug和远程编辑遗留webapp

时间:2015-07-24 18:05:09

标签: eclipse debugging tomcat ide

我在这里绑定,发生的事情是我有一个使用内存数据库的遗留webapp。该应用程序需要64GB的RAM才能启动,启动至少需要30分钟。

我必须对此应用程序进行更新/修复。显然,不可能在我的电脑上启动它,所以一切都必须在服务器上完成。我曾考虑在运行此应用程序的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在DEBUG模式下以及远程调试连接到它,我在Eclipse中遇到的错误是:

"Cannot load this JVM TI agent twice"

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

1 个答案:

答案 0 :(得分:0)

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

<Context reloadable="true">

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

<web-app reloadable="true">

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