代码之家  ›  专栏  ›  技术社区  ›  Ryan Emerle

在虚拟机中开发Java有什么好处吗?

  •  3
  • Ryan Emerle  · 技术社区  · 16 年前

    我来自于.NET阵营,在那里虚拟化更为普遍,它需要在服务器软件和系统范围的实体(如GAC)上运行。

    既然我正在做Java开发,继续使用虚拟化是有意义的吗?我们使用的是virtualpc,而imo并不是最棒的产品。如果我们继续前进,我们希望能够使用VMware。

    我们正在进行Web开发,不会使用虚拟化来测试不同风格的服务器部署。

    赞成的意见:

    • 允许开发环境 整个团队都一样
    • 允许与主机隔离
    • 跨平台/浏览器测试

    欺骗:

    • 缺少多监视器支持(不在VMware中?)
    • 性能下降-主要是I/O
    • 巨大的虚拟磁盘
    5 回复  |  直到 16 年前
        1
  •  6
  •   Uri    16 年前

    一个可能的优势是,您可以在各种操作系统和各种各样的JVM上从技术上测试相同的程序。

    与流行的观点相反,Java不是100%可移植的,并且非常有可能编写不可移植的代码。此外,库之间还有一些微妙的版本。如果您使用不同的JVM,也可能存在差异。

    然而,由于Java IDE是重量级的,在VM中运行IDE可能并不有趣。

    Java确实支持某些形式的远程部署,在本地进行IDE工作时,探索这些部署可能是有益的。

        2
  •  2
  •   OregonGhost    16 年前

    我不喜欢在虚拟机中开发。好的方面是,与您写的缺点相反,VMware支持多个监视器,而巨大的磁盘并不是真正的问题,因为VMware在USB硬盘上运行异常顺利。

    像Uri所说,运行Java的重量级IDE在VM中并不是很有趣。但是,在虚拟机中运行Visual Studio也不是很有趣。因此,如果你对VM中的VS感到满意,那么尝试一下Java,因为CONS没有你想象的那么强大:

        3
  •  1
  •   Mark    16 年前

    您说您正在做Java Web开发,因此在不同的操作系统上使用不同的Web浏览器测试应用程序是有意义的。VMware将对此非常有用。

    这个 Netbeans IDE是独立于操作系统的,因此您可以让开发人员在不同的操作系统上工作,而不会有任何问题。

        4
  •  1
  •   Chris Nava    16 年前

    我在virtualbox实例中运行eclipse,它工作正常。我以前用过vmware,这也很好。

    我喜欢将我的开发环境与我的电脑的其他部分分开(玩游戏、上网、阅读电子邮件等)。

    我在家工作,所以虚拟化提供了必要的工作/娱乐分离。它还允许我单独升级每个环境,并对环境有更多的控制。

    此外,我可以安全地尝试一些新的东西,如果安装“不稳定”的话,我可以恢复。抱歉,这是一个非常专业的术语。;-)

    编辑:它还允许我在不使我的家庭环境受到过度公司影响的情况下满足公司VPN访问要求。

        5
  •  1
  •   kungfoo    16 年前

    如果您需要一个虚拟机来验证该应用程序是否也可以在不同的操作系统上运行,那么您可以使用一个持续集成服务器来覆盖相当多的领域,并在该机器上启动/运行虚拟机实例(即Linux/Windows/OSX)。然后解包最新的构建,对交付的类运行单元测试。 然后运行自动集成测试。然后,您必须将结果报告回CI环境。 如果集成测试是好的,那么在提交给供应链管理之后,这会捕捉到许多常见的多平台错误。