Подтвердить что ты не робот

Является ли бродяга полезной для разработчиков java/javaee?

При работе с обычной настройкой среды разработки java/javaee необходимо иметь все локально (установка jdk, база данных, сервер приложений и т.д.). Я знаю, что многие люди в мире рубинов /js используют виртуальные машины для развития (в основном с бродягой).

Интересно, существует ли эффективный способ создания аналогичного env для java/javaee. Я подозреваю, что я могу легко установить сервер базы данных и сервер приложений вместе с версией jdk на такой виртуальной машине, но как насчет регулярной разработки? Мне все еще нужно установить jdk локально, не так ли? (Мне нужно, чтобы моя IDE работала правильно) Мне нужно maven для создания моего проекта, так что мне нужно полное maven local repo. И тогда мне нужно развернуть мое приложение на сервере приложений на виртуальной машине.

Я не вижу здесь никакого реального преимущества (все еще есть части среды на обеих машинах). Есть ли у вас опыт в этом отношении и можете поделиться со мной?

4b9b3361

Ответ 1

Vagrant - это в основном инструмент для создания виртуальной машины VirtualBox. Это привносит в таблицу возможность быстрого предоставления виртуальной машины и возможность передать рецепт предоставления другим.

Это действительно полезно в сообществе Ruby/JS, потому что у них нет шага компиляции. Способ, которым мы его используем, - это код, который остается на моей локальной машине, и все время выполнения выполняется на виртуальной машине. Если я сделаю изменения на своем локальном компьютере, запущенная программа на виртуальной машине мгновенно подберет изменение, а время выполнения будет изменено так же, как если бы код был только на виртуальной машине. Мне даже не нужно иметь Ruby/JS на моем компьютере.

В мире Java/.Net у вас есть шаг компиляции, так как вы говорите, что вам нужна Java и все банки, которые вам нужно скомпилировать на вашем компьютере. Это снижает некоторую полезность настройки.

С другой стороны, у вас обычно есть базы данных, очереди сообщений, контейнеры и т.д., с которыми вы работаете, и в команде может быть больно снимать электронную почту и сообщать об обновлении вашей базы данных к этой версии и загружать новую выборку данные. В Vagrant только один человек должен сделать обновления, и они могут затем сказать вам, чтобы захватить новую виртуальную машину, и вам не нужно выполнять какие-либо шаги по обновлению самостоятельно.

Поэтому он по-прежнему полезен на компилированном языке, но он менее полезен, чем на языке сценариев.

Ответ 2

Не совсем понятно, что конкретно вы ищете с точки зрения ответа.

IMO значение виртуальных машин не столько для среды разработки, сколько для среды выполнения. Такие вещи, как обмен сообщениями/очереди, серверы, базы данных, облачные серверы (например, Swift) и т.д.

Это не зависит от языка. Например, у нас есть виртуальные машины (а не на основе Vagrant), которые включают Hadoop/HDFS/HBase, Swift, RabbitMQ и различные контейнеры.

Мы можем развернуть эти машины, но инструменты dev выполняются локально. У ИМО было бы мало оснований для разработки на виртуальной машине, хотя нет причин, которых вы не могли бы сделать, особенно если вам нравится Vim/Emacs/etc.

Я знаю там контейнер Tomcat для Vagrant, хотя я его не использовал.