4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Eclipseでサーブレットのプロジェクトをインポートするとエラーだらけになる

Posted at

久しぶりに書きたくなったので約半年ぶり記事書きます!

最近Eclipseでサーブレットを使っているんですが、ローカルでプロジェクト保存してインポートしたり、Githubのリポジトリからインポートしたりした際に大量のエラーが吐かれて「なんじゃこりゃ!」ってなりました…。

調べてもなかなかこのような解決策が出てこなかったので、同じような人の助けになれば幸いです!

プロジェクトは、スッキリわかるサーブレット&JSP入門に載っているdokoTsubuプロジェクトを使用しています。
スッキリわかるサーブレット&JSP入門の商品サイト

開発環境

Windows11 home
Eclipse 2022
Java17
Tomcat9

Mac版のEclipseでも同様の手順で解決できます。

エラーの症状

image.png

# エラー内容
HttpServletRequest を型に解決できません
HttpServlet を型に解決できません
RequestDispatcher を型に解決できません
ServletContext を型に解決できません
WebServlet を型に解決できません
インポートされた javax.servlet は見つかりません
メソッド getServletContext() は型 Main で未定義です

原因

インポートした際にJREシステム・ライブラリーがアンバインドされていることが原因見たいです。
image.png

解決策

  • Javaのビルド・パスにて
    • アンバインド済みのJREシステム・ライブラリーを除去
    • モジュールパスにJREシステム・ライブラリーの追加

方法

プロジェクトの上で右クリック→プロパティを開く
左の一覧からJavaのビルドパスを選択する

JREシステム・ライブラリー(アンバインド済み)を選択し、右側の除去を選択する
image.png

モジュールパスを選択し、右側のライブラリーの追加を開く
image.png

JREシステム・ライブラリーを選択して次へ
image.png

特に変える必要が無ければワークスペースのデフォルトJREを選択して完了
image.png

選択したら、完了を押して、適用するとこんな感じでエラーは無くなると思います!
image.png

動作確認

image.png

ちゃんと動きました!

是非参考になってくれたらうれしいです!

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?