【发布时间】:2013-07-11 14:47:35
【问题描述】:
问题来了:在 Java 项目(或任何已编译的语言项目)中使用 Vagrant 时,你应该在 VM 上编译还是在主机上编译?此外,您是否希望您的 IDE 和所有开发工具也从 VM 内部运行,还是在主机上运行?
这似乎是not very well defined Java IDE 和编译/部署过程如何与 Vagrant VM 一起工作。一般来说,我的印象是代码在主机上编辑,并在 VM 上运行,这对于非编译语言非常有用。 Other answers on Stackoverflow 暗示由于额外的编译步骤,Vagrant 对于编译语言的用处不大,但我仍然想看看可以做什么。
我已经考虑过的一些事情:
为什么要在虚拟机上编译
- 如果在主机上编译,java 是另一个需要安装的软件
- 如果在主机上编译,主机上的 java 版本必须手动与 VM 上的保持最新
- 主机上对应的 java 版本可能不可用(例如,在 Mac 上)
为什么虚拟机上有 IDE
- 环境与IDE集成更紧密,可以使用快捷方式运行应用程序
- 可以为java应用程序连接调试器,无需远程调试(一步运行/调试)
为什么要在主机上编译
- 更快的编译时间
- 希望使 VM 尽可能接近生产环境
为什么主机上有 IDE
- 在主机上编辑代码并在 VM 上运行是 vagrant 约定
- 更好的 UI 性能(X 转发和 VNC 很慢)
您有什么想法:我应该从 VM 还是主机内部运行 IDE?我应该从 VM 内部还是主机内部编译?
【问题讨论】:
-
(和其他人):你还在使用 Vagrant 吗?对于当今的机器和工具(+SSD 等),在 VM 中运行 IDE 是否有意义?