Возникает вопрос: при использовании Vagrant для Java-проекта (или любого скомпилированного языкового проекта, если на то пошло), следует ли компилировать в VM или на хосте? Кроме того, хотите ли вы, чтобы ваша среда разработки и все ваши средства разработки запускались изнутри виртуальной машины или на хосте?
Кажется, что не очень четко определен, как именно работает среда Java IDE и процесс компиляции/развертывания с Vagrant VM. Как правило, мое впечатление заключается в том, что код редактируется на хосте и запускается на виртуальной машине, которая отлично работает для некомпилированных языков. qaru.site/info/64879/... подразумевают, что Vagrant менее полезен для скомпилированных языков из-за дополнительного этапа компиляции, но я все еще хочу посмотреть, что можно сделать.
Некоторые вещи, о которых я уже подумал:
Зачем компилировать на VM
- если компиляция на хосте, java - еще одна часть программного обеспечения для установки
- если компиляция на хосте, версия Java на хосте должна быть обновлена вручную с помощью виртуальной машины
- соответствующая версия java на хосте может быть недоступна (скажем, на Mac)
Зачем нужна среда IDE на виртуальной машине
- более тесная интеграция между средой и IDE, может использовать ярлыки для запуска приложения
- может подключать отладчик для Java-приложений без удаленной отладки (один шаг запуска/отладки)
Зачем компилироваться на хосте
- быстрее время компиляции
- хотите, чтобы виртуальная машина была близка к тому, как выглядит производство по возможности
Зачем нужна IDE на хосте
- его бродячий договор для редактирования кода на хосте и запуска его на виртуальной машине
- улучшенная производительность пользовательского интерфейса (пересылка X и VNC медленны)
Каковы ваши мысли: следует ли запускать мою среду IDE внутри виртуальной машины или хоста? Должен ли я компилироваться из виртуальной машины или хоста?