问题是:将Vagrant用于Java项目(或与此相关的任何编译语言项目)时,应在VM还是在主机上进行编译?另外,您是否也希望在VM内部或主机上运行IDE和所有开发工具?
似乎还没有很好地定义 Java IDE和Vagrant VM如何进行编译/部署过程。通常,我的印象是,代码是在主机上编辑的,并在VM上运行,这对非编译语言非常有用。有关Stackoverflow的其他答案已经暗示,由于额外的编译步骤,Vagrant对编译语言的用处不大,但是我仍然想看看可以做什么。
我已经考虑过的一些事情:
为什么要在VM上编译
- 如果在主机上编译,则Java是要安装的另一软件
- 如果在主机上编译,则必须手动将主机上的Java版本与VM上的版本保持最新
- 主机上相应的Java版本可能不可用(例如,在Mac上)
为什么在虚拟机上安装IDE
- 环境和IDE之间的紧密集成,可以使用快捷方式运行应用程序
- 可以连接Java应用程序的调试器,而无需进行远程调试(一步运行/调试)
为什么要在主机上编译
- 更快的编译时间
- 希望使VM尽可能接近生产环境
为什么主机上有IDE
- 在主机上编辑代码并在VM上运行它是流浪汉的惯例
- 更好的UI性能(X转发和VNC速度很慢)
您有什么想法:我应该从VM或主机内部运行IDE?我应该从VM或主机内部进行编译吗?