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