| この記事の要点 |
|
エラーメッセージの全文と発生コマンド
主に Ant でよく見ますが、引数を取るすべての CLI で類似メッセージが出ます:
$ ant
Buildfile: /path/to/build.xml
BUILD FAILED
Missing target argument.
# あるいは Python の argparse
$ python deploy.py
usage: deploy.py [-h] target
deploy.py: error: the following arguments are required: target
原因: ビルドツールに対象を渡していない
ビルドツール(Ant / Maven / Gradle)は 「何をビルドするか」を引数で受け取るのが基本。引数なしで実行すると、デフォルトターゲットが定義されていない限りエラーになります。
Ant の場合
<!-- build.xml -->
<project name="MyApp" default="compile" basedir=".">
<target name="clean">
<delete dir="build" />
</target>
<target name="compile">
<mkdir dir="build/classes" />
<javac srcdir="src" destdir="build/classes" />
</target>
<target name="jar" depends="compile">
<jar destfile="build/myapp.jar" basedir="build/classes" />
</target>
<target name="all" depends="clean,jar" />
</project># NG: 引数なし → Missing target argument
ant
# OK: ターゲット名を指定
ant compile
ant clean compile jar
# OK: default 属性があれば省略可
ant # → "default=compile" で compile ターゲットが実行される
# 使えるターゲット一覧
ant -p # = -projecthelp
ant -p -v # 詳細
Maven の場合
Maven は goal(または phase)が必須です:
# NG: 引数なし → "No goals have been specified for this build."
mvn
# OK: ライフサイクル phase
mvn clean
mvn compile
mvn test
mvn package
mvn install
# OK: 複数連結
mvn clean install
# OK: プラグイン goal
mvn spring-boot:run
mvn dependency:tree
# OK: pom.xml に defaultGoal を設定すれば省略可
# <build>
# <defaultGoal>install</defaultGoal>
# </build>
# 使えるライフサイクル / プラグイン
mvn -h
mvn help:describe -Dplugin=compiler
Gradle の場合
# NG: 引数なし → "Welcome to Gradle ..." の help が出るだけ(明示的なビルドはされない)
gradle
# OK: タスク指定
gradle build
gradle test
gradle bootRun
gradle clean assemble
# 使えるタスク一覧
gradle tasks --all
gradle help --task build
# build.gradle の defaultTasks で省略可
# defaultTasks 'clean', 'build'
各ツールの比較
| ツール | 対象の呼び方 | デフォルト指定 | 一覧 |
|---|---|---|---|
| Ant | target | <project default="..."> | ant -p |
| Maven | goal / phase | <defaultGoal> | mvn -h |
| Gradle | task | defaultTasks | gradle tasks |
| make | target | Makefile 先頭ルール | make help (慣習) |
| npm | script | なし(start は特別) | npm run |
Python argparse の "Missing argument"
類似メッセージは Python の argparse でも出ます:
import argparse
p = argparse.ArgumentParser()
p.add_argument('target', help='deploy target (dev/stg/prd)')
args = p.parse_args()
# 実行
# $ python deploy.py
# usage: deploy.py [-h] target
# deploy.py: error: the following arguments are required: target
#
# $ python deploy.py prd
# (OK)
CI で起きやすいパターン
Jenkins / GitLab CI / GitHub Actions の YAML で mvn 単体や ant 単体を書いてしまうと CI が落ちます:
# NG
- name: Build
run: mvn
# OK
- name: Build
run: mvn -B clean install
# OK (Gradle)
- name: Build
run: ./gradlew build --no-daemon
確認すべきこと
build.xml/pom.xml/build.gradleがカレントディレクトリにあるか- ファイル内に呼び出したいターゲット / goal / task が定義されているか
- スペルミス(
complievscompile) - 大文字小文字の違い(大半のツールで区別される)
-fオプションで別ファイル指定が必要なケース(ant -f custom.xml compile)
FAQ
Q: ant -p でターゲットが出ない
A: <target description="..."> 属性付きのターゲットだけ表示される仕様。属性なしは ant -p -v で表示。
Q: Maven で No plugin found エラーに変わった
A: goal の指定方法(plugin:goal 形式)が違う可能性。mvn help:describe -Dplugin=... で正しいプラグイン名と goal を確認。
Q: シェルスクリプトで複数ターゲットを並べたい
A: set -e を入れて ant clean && ant compile && ant jar。または一つのターゲットに depends でまとめる。
子ページ
子ページはありません
同階層のページ
同階層のページはありません
人気ページ
- 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 / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15