1

私のmavenプロジェクトパッケージwarは、デプロイされるだけで、それ自体は他のプロジェクトに依存しません(つまり、最終的にデプロイ可能です)。なぜ 'mvn install'戦争プロジェクトですか?

質問

  • mvn packageに加えて、唯一のlocalRepositoryにそれを置く、これまでそのパッケージにmvn installを実行する理由は、ありますか?
  • 何も最終的な展開がそれに依存しない場合、インストールする必要がありますか?最終的に展開可能な案件については

答えて

1

確かに代わりpackage相のinstall相を起動する理由がないことがあります。あなたは.warファイルを構築したいとあなたは確かにあなたのローカルリポジトリにインストールする必要はありません。

ただし、統合テストがあれば、常に実行することを習慣としたいかもしれません。

packageは、JARとして、コンパイルされたコードを取得し、その配布形式でパッケージ化:default Maven lifecycleを見てみると、これらのフェーズは、パッケージ後に起こります。
pre-integration-test統合テストを実行する前に必要なアクションを実行します。これには、必要な環境の設定などが含まれます。
integration-test統合テストを実行できる環境に、必要に応じてパッケージを処理して展開します。
post-integration-test統合テストが実行された後に必要なアクションを実行します。これには、環境の清掃も含まれます。
verifyパッケージが有効で、品質基準を満たしていることを確認するためにチェックを実行します。
installパッケージをローカルリポジトリにインストールし、他のプロジェクトの依存関係としてローカルで使用します。

したがって、installを呼び出すと、必ず統合テストも実行されます。実際には短い呼び出しは

mvn clean verify 

これらの場合にはより一般的ではありません。

関連する問題