質問は次のとおりです。Java プロジェクト (またはコンパイル済み言語プロジェクト) に Vagrant を使用する場合、VM またはホストでコンパイルする必要がありますか? また、IDE とすべての開発ツールを VM 内から実行したいですか、それともホスト上で実行したいですか?
Java IDE とコンパイル/デプロイ プロセスが Vagrant VM でどのように機能するかは、正確にはあまり明確に定義されていないようです。一般的に、コードはホスト上で編集され、VM 上で実行されるというのが私の印象です。これは、コンパイルされていない言語でうまく機能します。Stackoverflow に関する他の回答は、余分なコンパイル手順があるため、Vagrant はコンパイルされた言語にはあまり役に立たないことを暗示していますが、それでも何ができるかを見たいと思っています。
私がすでに考えたいくつかのこと:
VM でコンパイルする理由
- ホストでコンパイルする場合、Java はインストールするもう 1 つのソフトウェアです。
- ホストでコンパイルする場合、ホストの Java バージョンを手動で VM の最新の状態に保つ必要があります。
- ホスト上の対応する Java バージョンが利用できない可能性があります (たとえば、Mac 上)。
VM に IDE がある理由
- 環境と IDE 間のより緊密な統合、ショートカットを使用してアプリケーションを実行できます
- リモートデバッグなしでJavaアプリケーションのデバッガーを接続できます(ワンステップ実行/デバッグ)
ホスト上でコンパイルする理由
- コンパイル時間の短縮
- VM を可能な限り本番環境に近づけたい
ホストに IDE がある理由
- ホスト上でコードを編集して VM 上で実行するのは vagrant の慣習です。
- UI パフォーマンスの向上 (X 転送と VNC が遅い)
VM またはホスト内から IDE を実行する必要がありますか? VM またはホスト内からコンパイルする必要がありますか?