调试远程服务器上的eclipse / maven项目?

时间:2011-08-12 10:01:52

标签: eclipse maven jetty

我使用笔记本电脑进行开发,但资源有限。我有一个本地eclipse / maven和我的本地代码库,我想保留它,因为我希望能够一直编程,编译和junit-test。

在我的办公室,我希望能够在类似生产的场景中进行调试,这意味着,使用大型数据库和8GB RAM的Java堆。

我认为设置eclipse和maven以将编译后的代码放在远程机器上,执行maven进程(jetty:在远程机器上运行)并附加eclipse进行调试应该不会太困难。远程计算机可以拥有自己的数据库,我只需要确保maven存储库同步。

有没有人设法运行此或类似的方案?我仍然无法弄清楚如何将我的~10个项目的编译源放在远程机器上。我认为运行maven任务并附加一个调试器应该很容易用一些ssh-magic。

1 个答案:

答案 0 :(得分:3)

除非防火墙存在问题,否则不需要ssh-magic。只是以某种方式将您的项目放到遥控器上,然后使用mvnDebug而不是mvn运行您的构建。默认情况下,Maven将在端口8000上侦听调试连接,并等待您连接以继续构建。在Eclipse中配置remote debugging启动器,它将像平常一样连接和调试。至于获取代码,可以使用rsync,但这是git的一个很好的用例。这就是我自己做这件事的方式。

编辑:我从来没有想过用Eclipse做这个的方法,但你可以从Eclipse运行任意命令,所以rsync应该可以正常工作。使用rsync,你需要像

这样的东西
rsync -ruz . <user>@<host>:/<path>

从项目目录运行它,它应该将目录的完整内容复制到远程主机上,仅在初始复制后复制更新的文件。您可以使用可重复的--exclude选项排除目标,例如目标。例如。 --exclude=target。复制项目后,您可以使用

开始构建
ssh <user>@<host> mvnDebug <whatever>
如果你不熟悉git,git方式可能看起来更加神秘,但它还有一个额外的好处,就是能够轻松地修复遥控器并将它们拉回到本地。使用git,您首先使用ssh登录到远程,创建项目目录,然后git init。在此之后,您可以随时使用

将更改推送到遥控器
git push -f <user>@<host>:/<path> master

假设您在master中工作,然后在远程工作:

git reset --hard
mvnDebug <whatever>