
今回は、新しいPCを購入した際、旧PCのeclipseから新PCのeclipseへデータ移行した時に起きた不具合を備忘録として記事したいと思います!
この記事は私の備忘録も兼ねて、今回起きた事象と解決にいたった内容を画像を添えながら記載します!
解決した方法を簡単に記載しますと、(※データは、動的Webプロジェクトです)
- eclipse2020とeclipse2022では、各ファイルのワークスペースが異なっている事に気づいた。
- eclipse2022にて新規プロジェクトを作成して、各ファイル(JSP、サーブレット、クラスなど)も新規作成した際のワークスペースの場所を確認した。
- エクスポートしたデータを直接インポートせずに、各ファイルを正しいワークスペースの場所にドラッグ&ドロップした。
ざっと簡単に記載すると上記の内容となります!
個人的には、【ワークスペースの場所】が大きな原因だったのではないかと考えていますが、実際の原因はわかりません・・・(;゚Д゚)

因みに、新PCにeclipse2020をダウンロードしようと試みましたが、ダウンロードできなかった為、しかたなくeclipse2022をダウンロードした感じです・・・。。
この記事を読んだ方で、詳しい原因や対応方法をご存じの方がいましたらコメントに残していただけうると嬉しいです!(^_^)/
・eclipseにインポートした際に起きた不具合(実行できなかった内容)
今回起きた事象の詳細は、以下の内容です。
- 動的Webプロジェクトをエクスポートしてインポートしようとした。
- 旧PCのeclipse2020からエクスポートしたプロジェクトを新PCのeclipse2022へインポートした。
- 新PCへインポートした後、eclipseにて実行したがエラーが出た。
- エラーが出た後は、eclipseにて実行する事も出来なくなった。(実行の表示でない。)
※エクスポートしたデータは、旧PCでは問題なく実行できていたプロジェクトです。
それでは、詳細を画像を添えて記載します。
・eclipseにインポートした後にプログラムを実行 ⇒ エラー

インポートしたプロジェクトを実行した際、↑画像の赤枠の「サーバーで実行」をクリックしました。
その直後に↓画像が出てしまいました。

このエラー画面は、初めて目撃した為、思考がフリーズしました・・・(゜-゜)ホア?
何かクリックを押し間違えたか?と思い、もう一度実行をしようとしたところ、↓の画像の状態に、、、

↑画像の赤枠部分ですが、「サーバーで実行」が無くなっていました!(゚д゚)ホア⁉
仕方ないので、「実行の構成」をクリックすると↓の画面がでました。

これまた、初めて見た画面です・・・。
色々試して見ましたが、どれも解決には至りませんでした。。
※この色々試している期間は約2日間です・・・(ノД‘)・゜・。アァァ
考えられる限りの事は試しましたが、復旧出来ませんでしたので初めからプロジェクトを作成する事にしました。
ですが、これが功を奏しました!!
・eclipseにインポートするのを諦めて、新規プロジェクトを作成。
まず、インポートした際の画像↓を添付します。(各ファイルのワークスペースに注目)

※↑画像は、結果的に各ファイルのワークスペースの配置が間違っていたという結論(今のところは)です。
次に、一旦インポートする事を諦めて、プロジェクトを始めから作成した際の流れを画像を添えて記載します。
eclipseにて新規プロジェクトの作成
始めにファイルをクリック⇒ 新規 ⇒ 動的Webプロジェクト をクリックします。
※動的Webプロジェクトの表示がない場合は、「その他」から探してください。
⇒分からない場合は、この後作成するサーブレット作成の項目を参考にしてください。【ここをクリック】

プロジェクトが開くので、「プロジェクト名」を記載して「次へ」をクリックします。

次の画面が出たら、「次へ」をクリックします。

↓の画面が出たら赤枠部分にチェックを付けて「完了」をクリックします。

eclipseにて新規JSPファイルの作成
新規プロジェクトの作成できたら、次にJSPファイルを作成します。
プロジェクト名を右クリック ⇒ 新規 ⇒ JSPファイル をクリックします。
※JSPファイルがない場合は、「その他」から探してください。
⇒分からない場合は、次に作成するサーブレット作成の項目を参考にしてください。

↓画面が出たら、「ファイル名」を決めて「完了」をクリックします。

eclipseにて新規サーブレットの作成
JSPファイルが作成できたので、次にサーブレットを作成します。
プロジェクト名を右クリック ⇒ 新規 ⇒ サーブレット をクリックします。
※下記画面では、サーブレットの表記がなかったので「その他」をクリックします。

↓画面になったら、Web ⇒ サーブレット を選択して「次へ」をクリックします。

↓の画面が出たら「パッケージ名」「クラス名」を入力して「完了」をクリックします。

【eclipse】JSPとサーブレットのワークスペースを確認
↓の画像が新規JSPと新規サーブレットが作成された際のワークスペースの場所となっていました。
※ワークスペースの場所は、任意で指定もできますが今回は自動選択された場所に配置しています。

※画像の赤矢印の場所に注目
インポートした際の画像と比べるとJSPとサーブレットのワークスペースの場所が異なっている事がわかります。
eclipse2020とeclipse2022では、各ファイルのワークスペースの場所に変化があったのだと考えました。
これを発見した際は、歓喜しましたヾ(≧▽≦)ノ
・eclipseのワークスペースに注意して各ファイルを配置する
上記の結果から、次に私が行ったのは、eclipseへ直接インポートせずにエクスポートしたファイルを開いて、eclipse2022にて正しいと思われるワークスペースへ各ファイルを個別にドラッグ&ドロップを行いました。
↓画像から、直接インポートした際の配置(左側)と個別にコピーして配置(右側)にてワークスペースの場所が異なっている事がわかると思います。
※直接インポートした際(エラー発生)

※各ファイルを個別にコピーした際

※エクスポートしたデータから各ファイルをeclipseへコピーする方法は、コピーしたいファイルをドラッグアンドドロップするだけです。(複数のファイルをまとめて実行可能でした。)
各ファイルを配置した後に、JSPを実行したところ問題なくプロジェクトが動きました!!(∩´∀`)∩
・プロジェクトを新規作成した際の注意点
忘れやすいポイントかと思ったので、念の為、記述しておきます。
・データベースへの接続を行っている場合、JDBCドライーバーを設置する。
⇒今回の場合は、【 src/main/webapp/WEB-INF/lib 】に配置する事になります。
・サーブレットやフィルター実装していた場合、web.xmlへの追記する。
⇒使用しているフレームワークによってweb.xmlへ記載する必要はありません。
・まとめ:Java.eclipse 今回の不具合解消のポイント

今回の不具合は、PCを買い換える場合に再度発生する事案かもしれませんね!
- 各ファイルのワークスペースの場所を確認する。
- eclipseのバージョンに適したワークスペースの場所を確認する。
- エクスポートしたデータを直接インポートしなくてもデータ移行は出来る。
今回は、上記3点に早く気づいたら問題解決が早かったと思います。
eclipseについて、まだまだ勉強しないといけない事は多いと思いますので、新しい解決策が見つかった場合には記事の内容を更新していきたいと思います。
それでは、以上です!
UPSTART!!(=゚ω゚)ノ
#Java #eclipse #起動 #ワークスペース #エクスポート #インポート

コメント