ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
エラー内容
サーバーに追加または除去できるリソースがありません。
# 英語版
There are no resources that can be added or removed from the server.
このエラーの意味
Eclipse の「サーバー」タブで Tomcat にプロジェクトを追加しようとしたときに、そのプロジェクトが Tomcat に載せられる Web アプリとして認識されていない場合に出やすいエラーです。
起きやすい原因
- プロジェクトに動的 Web モジュールの facet が付いていない
- Tomcat をTargeted Runtime として関連付けていない
- Java / Servlet / Tomcat の組み合わせが合っていない
- Maven / Gradle プロジェクトが WTP と正しく連携していない
- Server view 側のキャッシュが壊れている
確認すること
1. プロジェクト・ファセットを確認
プロジェクトを右クリック → プロパティ → プロジェクト・ファセット
- Java にチェックが入っているか
- 動的 Web モジュール にチェックが入っているか
- バージョンが使いたい Tomcat と合っているか(次の表参照)
2. Targeted Runtimes を確認
同じプロパティ画面の Targeted Runtimes で対象 Apache Tomcat にチェックが入っているか。
Tomcat ↔ Servlet API ↔ Dynamic Web Module バージョン対応表
| Tomcat バージョン | Servlet API | JSP | Dynamic Web Module | 必要 Java |
|---|---|---|---|---|
| Tomcat 7 | 3.0 | 2.2 | 3.0 | Java 6+ |
| Tomcat 8.0 | 3.1 | 2.3 | 3.1 | Java 7+ |
| Tomcat 8.5 / 9.0 | 3.1 / 4.0 | 2.3 / 2.3 | 3.1 / 4.0 | Java 7+ / Java 8+ |
| Tomcat 10.0 | 5.0 (jakarta) | 3.0 | 5.0 | Java 8+ |
| Tomcat 10.1 | 6.0 (jakarta) | 3.1 | 6.0 | Java 11+ |
| Tomcat 11.0 | 6.1 (jakarta) | 4.0 | 6.0 | Java 17+ |
重要: Tomcat 10 以降は javax.servlet → jakarta.servlet にパッケージが変わります(Jakarta EE 移行)。古いコードは Tomcat 9 まで、新規開発は Tomcat 10+ + Jakarta が推奨。
対処手順(標準)
- プロジェクト右クリック → プロパティ
- プロジェクト・ファセット を開く
- Java と 動的 Web モジュール にチェック
- Runtimes / Targeted Runtimes で対象 Tomcat にチェック
- 必要なら web.xml デプロイメント記述子の生成 を有効に
- Server view から一度プロジェクトを外し、再度追加
- うまく行かない場合はプロジェクト → クリーン
Maven プロジェクトで直らない場合
Maven プロジェクトは WTP 連携が不十分だと facet が機能しません。
<!-- pom.xml -->
<packaging>war</packaging>
<dependencies>
<!-- Servlet API は provided (Tomcat が提供) -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<!-- 古い javax の場合 -->
<!--
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
-->
</dependencies>
<build>
<finalName>myapp</finalName>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.4.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
Eclipse 側の対応:
- m2e-wtp プラグインが入っているか確認
- プロジェクト右クリック → Maven → プロジェクトの更新(または Alt+F5)
- 更新ダイアログで「リソースの強制更新」「ワークスペース解決」にチェック
- もう一度プロジェクト・ファセットを開いて状態確認
Gradle プロジェクトで直らない場合
// build.gradle
plugins {
id "war"
id "eclipse-wtp" // ← WTP 連携プラグイン
}
dependencies {
providedCompile "jakarta.servlet:jakarta.servlet-api:6.0.0"
}
eclipse {
wtp {
component {
contextPath = "/myapp"
}
facet {
facet name: "jst.web", version: "6.0"
facet name: "java", version: "17"
}
}
}
# Eclipse 用設定再生成
$ ./gradlew cleanEclipse eclipse
# 生成後、Eclipse で「ファイル → 既存プロジェクトをインポート」
それでも直らない時の確認順
- そのプロジェクトは本当に Web アプリとして動かす構成か(pom.xml の packaging=war 等)
- Targeted Runtime に Tomcat が設定されているか
- facet と Tomcat のバージョンが噛み合っているか(上の対応表参照)
- Eclipse のキャッシュや Server 設定が壊れていないか
- Servers ビューから Tomcat を一度削除して再作成
- ワークスペースの
.metadata関連設定が壊れていないか
- Java と Tomcat のバージョン互換性(Tomcat 11 で Java 8 は動かない等)
まとめ
このエラーは、Tomcat 側の問題というより、Eclipse がそのプロジェクトを配備可能な Web アプリと認識できていないときに起きます。流れとしては:
- Project Facets で「動的 Web モジュール」を有効化
- Targeted Runtimes で対象 Tomcat を選択
- バージョン整合性を確認(Tomcat ↔ Servlet API ↔ Java ↔ Dynamic Web Module)
- Maven / Gradle なら IDE 連携プラグインの設定
関連記事
📸 参考画像
※ 旧バージョンから引き継いだ参考画像です。手順・図解の補助としてご覧ください。


ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- モジュール名が無効です。(WAR エクスポート)
- 現在のブランチはプル用に構成されていません 構成にキー remote.origin.url の値がありません
- サーバーに追加または除去できるリソースがありません。
- invalid LOC header (bad signature)
人気ページ
- 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 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- APIキー取得方法 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Scratch 作品の公開方法 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?