Ось питання: Коли ви використовуєте Vagrant для проекту Java (або будь-якого компільованого мовного проекту з цього приводу), чи слід вам компілювати у віртуальній машині або на хості? Крім того, чи хотіли б ви, щоб ваша IDE та всі ваші інструменти розробки також працювали з віртуальної машини або на хості?
Здається, не дуже чітко визначено , як Java IDE та процес компіляції / розгортання працюють з VM Vagrant. Як правило, я складаю враження, що код редагується на хості та працює на віртуальній машині, що чудово працює для некомпільованих мов. Інші відповіді на Stackoverflow передбачають, що Vagrant менш корисний для компільованих мов через додатковий крок компіляції, але я все одно хочу побачити, що можна зробити.
Деякі речі я вже продумав:
Навіщо компілювати на ВМ
- якщо компілюється на хості, java - це ще одна частина програмного забезпечення для встановлення
- при компіляції на хості, версія Java на хості повинна бути вручну в курсі та на віртуальній машині
- відповідна версія Java на хості може бути недоступною (скажімо, на Mac)
Навіщо IDE на віртуальній машині
- більш тісна інтеграція між середовищем та IDE, може використовувати ярлики для запуску програми
- може підключати налагоджувач для програм Java без віддаленої налагодження (запуск в один крок / налагодження)
Навіщо компілювати на хості
- швидший час компіляції
- хочуть зберегти віртуальну машину якомога ближче до того, як виглядає виробництво
Навіщо IDE на хості
- це правило бродяги - редагувати код на хості та запускати його на віртуальній машині
- краща продуктивність інтерфейсу (переадресація X та VNC повільні)
Ваші думки: чи слід запускати IDE зсередини віртуальної машини або хосту? Чи слід компілювати зсередини віртуальної машини або хоста?