| この記事の要点 |
|
エラー内容
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
日本語にすると「このビルドにはゴールが指定されていません。有効なライフサイクルフェーズか、<plugin-prefix>:<goal> 形式のゴールを指定してください」という意味です。後半には指定できるフェーズの一覧が表示されています。
原因
Maven は「どこまでビルドするか」を毎回指定して実行するツールです。mvn コマンドにフェーズやゴールを 1 つも渡さず、pom.xml にも既定のゴールが書かれていないと、何をすればよいか分からずにこのエラーで止まります。よくある発生パターンは次のとおりです。
- ターミナルで
mvnだけを実行した(オプションだけ付けたmvn -DskipTestsなども同じ) - Eclipse で「実行」→「Maven ビルド...」を選び、構成画面の「ゴール」欄を空のまま実行した
- IntelliJ IDEA などの実行構成で、コマンドライン欄が空になっている
- CI のスクリプトでゴールを変数で渡していて、その変数が空だった
対処法
コマンドで実行する場合
目的に合ったフェーズを指定します。迷ったら clean package が無難です。
# コンパイルだけ
mvn compile
# テストまで実行して jar / war を作る
mvn clean package
# 作った成果物をローカルリポジトリ (~/.m2) に登録する
mvn clean install
# テストを飛ばしてパッケージングする
mvn clean package -DskipTests
プラグインのゴールを直接指定することもできます。これがエラーメッセージにある <plugin-prefix>:<goal> 形式です。
mvn dependency:tree # 依存関係のツリーを表示
mvn spring-boot:run # Spring Boot アプリを起動(プラグイン設定がある場合)
Eclipse で実行する場合
- プロジェクトを右クリック →「実行」→「Maven ビルド...」(末尾に「...」が付いているほう)を選ぶ
- 「ゴール」欄に
clean packageなどを入力する - 「実行」を押す
「...」なしの「Maven ビルド」は、前回保存した実行構成を使います。最初にゴール欄を空のまま保存してしまうと、毎回このエラーになります。その場合は「実行」→「実行構成」から該当する構成を開き、ゴール欄を埋めてください。メニューにある「Maven install」「Maven clean」などを使うと、ゴールが入った状態で実行されます。
mvn だけで動くようにしたい場合
pom.xml の <build> に <defaultGoal> を書くと、引数なしの mvn でもそのゴールが実行されます。
<build>
<defaultGoal>clean package</defaultGoal>
<!-- plugins などはそのまま -->
</build>
主なフェーズの早見表
Maven の標準ライフサイクルでは、指定したフェーズより前のフェーズもすべて順番に実行されます。たとえば mvn package は validate → compile → test → package の順に進みます。
| フェーズ | やること |
|---|---|
| compile | src/main/java をコンパイルする |
| test | 単体テストを実行する |
| package | jar や war を target/ に作る |
| verify | 結合テストや品質チェックを実行する |
| install | 成果物をローカルリポジトリに登録する(他のプロジェクトから参照できる) |
| deploy | 成果物をリモートリポジトリにアップロードする |
| clean | target/ を削除する(別のライフサイクル。clean package のように並べて使う) |
確認方法
- 実行して最後に
BUILD SUCCESSと表示され、target/に jar や war ができていれば成功です mvn -vで、Maven 本体と使われている Java のバージョンも確認しておくと、次に出るエラーの切り分けが楽になります
関連
- Maven 完全ガイド (pom.xml / ライフサイクル / プラグイン / リポジトリ)
- No compiler is provided in this environment (Maven) の原因と対処
- Spring Boot プロジェクトの実行方法(mvn / gradle / jar / IDE / プロファイル)
- Eclipse でプロジェクトを作成する手順|動的 Web プロジェクト / Maven / Spring Boot
子ページ
子ページはありません
同階層のページ
- No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format
- Fatal error compiling: 1.Xは無効なターゲット・リリースです
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09