我使用笔记本电脑进行开发,但资源有限。我有一个本地eclipse / maven和我的本地代码库,我想保留它,因为我希望能够一直编程,编译和junit-test。
在我的办公室,我希望能够在类似生产的场景中进行调试,这意味着,使用大型数据库和8GB RAM的Java堆。
我认为设置eclipse和maven以将编译后的代码放在远程机器上,执行maven进程(jetty:在远程机器上运行)并附加eclipse进行调试应该不会太困难。远程计算机可以拥有自己的数据库,我只需要确保maven存储库同步。
有没有人设法运行此或类似的方案?我仍然无法弄清楚如何将我的~10个项目的编译源放在远程机器上。我认为运行maven任务并附加一个调试器应该很容易用一些ssh-magic。
答案 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>