【问题标题】:Are there any benefits to developing Java in a virtual machine?在虚拟机中开发 Java 有什么好处吗?
【发布时间】:2009-03-16 15:20:53
【问题描述】:

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

现在我正在做 Java 开发,继续使用虚拟化是否有意义?我们使用的是 VirtualPC,IMO 并不是最好的产品。如果我们要继续前进,我们希望能够使用 VMWare。

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

优点:

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

缺点:

  • 缺少多显示器支持(VMWare 中没有?)
  • 性能下降 - 主要是 I/O
  • 巨大的虚拟磁盘

【问题讨论】:

    标签: java virtualization


    【解决方案1】:

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

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

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

    Java 确实支持某些形式的远程部署,在探索这些形式的同时仍在本地进行 IDE 工作可能会有所帮助。

    【讨论】:

    • 应用程序的远程部署在使用Tomcat或某些J2EE容器时非常成熟。
    • 我的商店就是这样做的。我们在 ESXi 机架上的各种 VM(win/sol/lin)中设置了应用程序服务器。使用 Hudson 进行集成,我们随时部署新的构建并对其进行测试。开发始终在我们的桌面上。
    • 听起来很有趣。你们都建立了哪些程序?
    【解决方案2】:

    我不喜欢在 VM 中开发。好消息是,与您所写的缺点相比,VMWare 支持多个监视器,并且由于 VMWare 从 USB 硬盘上运行起来非常流畅,因此巨大的磁盘并不是真正的问题。

    正如 Uri 所说,在 VM 中运行重量级的 Java IDE 不会很有趣。但是,在 VM 中运行 Visual Studio 也不是很有趣。因此,如果您对虚拟机中的 VS 感到满意,那么请尝试使用 Java,因为它的缺点并没有您想象的那么严重:)

    【讨论】:

    • 没有。主要缺点是速度。我认为 3D 加速还不够成熟。
    【解决方案3】:

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

    Netbeans IDE 独立于操作系统,因此您可以让开发人员在不同的操作系统上工作而不会遇到任何麻烦。

    【讨论】:

    • 我们可以控制目标浏览器。不需要跨浏览器测试......但是。 :)
    【解决方案4】:

    我在 VirtualBox 实例中运行 eclipse,它运行良好。我过去使用过 VMWare,也很好。

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

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

    如果安装“不稳定”,我也可以安全地尝试新的东西并恢复。对不起,技术性很强的术语。 ;-)

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

    【讨论】:

      【解决方案5】:

      如果您需要一个虚拟机来验证应用程序是否也可以在不同的操作系统上运行,您可以通过使用持续集成服务器并在该机器上启动/运行虚拟机实例(即 Linux / Windows / OSX )。然后解压最新的构建,在交付的类上运行单元测试。 然后运行自动化集成测试。然后,您必须将结果报告回 CI 环境。 如果集成测试很好,这可以在提交到 SCM 后立即发现很多常见的多平台错误。

      【讨论】:

        猜你喜欢
        • 2011-11-16
        • 2011-04-04
        • 2013-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-07
        相关资源
        最近更新 更多