- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
使用 java/javaee 时,通常的开发环境设置是将所有内容都放在本地(jdk 安装、数据库、应用服务器等)。我知道 ruby/js 世界中有很多人使用虚拟机进行开发(主要是 vagrant)。
我想知道是否有一种有效的方法可以为 java/javaee 设置类似的环境。我怀疑我可以很容易地在这样的虚拟机上安装数据库服务器和应用程序服务器以及 jdk 版本,但是常规开发呢?我仍然需要在本地安装jdk,对吗? (我需要我的 IDE 才能正常工作)我需要 maven 来构建我的项目,所以我需要完整的 maven 本地 repo。然后我需要在虚拟机的应用服务器上部署我的应用。
我在这里看不到真正的优势(两台机器上仍然有一些环境)。你有这方面的经验可以和我分享吗?
最佳答案
Vagrant 基本上是一个设置 VirtualBox 虚拟机的工具。它带来了快速配置 VM 的能力以及将配置方法传递给其他人的能力。
这在 Ruby/JS 社区中非常有用,因为它们没有编译步骤。我们使用它的方式是代码保留在我的本地机器上,所有运行时都在 VM 上完成。如果我在本地计算机上进行更改,VM 上正在运行的程序会立即获取更改并修改运行时,就像代码仅在 VM 上一样。实际上,我什至不必在我的计算机上安装 Ruby/JS。
在 Java/.Net 世界中,您有一个编译步骤,因此您说您需要 Java 以及需要在您的机器上编译的所有 jar。这会降低设置的一些实用性。
另一方面,您通常有正在使用的数据库、消息队列、容器等,并且在一个团队中,发送电子邮件并说将您的数据库更新到此版本并加载新示例可能会很痛苦数据。在 Vagrant 中,只有一个人需要进行更新,然后他们可以告诉您获取新的 VM,而您不必自己执行任何升级步骤。
所以它在编译语言中仍然有用,但不如在脚本语言中有用。
关于java - vagrant 对 java/javaee 开发人员有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14904590/
是否有用于手动测试的代码覆盖工具?比如我新写了30行代码,编译,然后运行,有什么办法可以快速验证这30行都运行了吗? 另外,后来,在我将代码 checkin 正式版本后,有什么方法可以验证测试部门在进
老实说,这是一个家庭作业问题,但我已经浪费了好几个小时,而且无法正确解决。它返回错误数量的结果或错误的数据: 我需要选择参与指导电影和/或在电影中表演的每个人以及他们所做的次数,如果至少 5 次。 有
我正在尝试测试 MacOS 的应用内购买。输入测试用户凭据后,App Store 提示:“当前收据无效或 ds 人员 ID 不匹配。”并且购买失败。 最佳答案 我尝试了很多方法来解决这个问题。 Get
我正在为 Jenkins 使用 ActiveDirectory 插件,因此用户必须使用他们的凭据登录到 Jenkins。然后用户在 Jenkins 中被称为 joe.doe,这很完美。 当同一个人 c
如何从 Infopath 人员/组选取器检索电子邮件地址?当我将人员/组选取器添加到 infopath 表单时,我只得到 3 个字段 DisplayName、AccountId、AccountType
在 Snow Leopard 中,可以在 iCal 事件中显示空闲/忙碌时间。我搜索了 CalStore.framework 的 header ,但找不到任何描述该字段的属性。如何检索日历事件的忙/闲
是否有人成功地从专门针对 SharePoint 2013 的新建或编辑表单中获取用户(个人或组)字段的值? 我已经尝试了通过搜索互联网找到的所有解决方案以及我自己能想到的所有解决方案,所有结果都为空白
所以我需要将一个 Twitter 帐户添加到 ABRecordRef 中。然而,最快的方法似乎是获取社交资料属性的多值引用,创建它的可变版本,查找它是否有 Twitter 条目,如果已经有,则创建
我正在尝试将使用 Tomcat(最初是 5.5,但可以与 7 一起使用)在 MyEclipse 中开发的应用程序部署到我们的演示服务器 (Sun Java Web Server 7)。不幸的是,所有设
我是一名优秀的程序员,十分优秀!