🗿

オヨ?SwingアプリをIntellijiで起動したらエラーになったルン♪...Orzのときにやったこと✨

3 min read

<障害発生日>
2021年8月12日

<ざっくりとした環境情報>
OS:Windows10
IDE:IntelliJ IDEA Community Edition 2021.1.1
言語:Java (jdk-13.0.2) ※今回はここが重要

はい みなさんこんにちは~✨
かがみんです✨ (爆)

さて今回はDDDにも関係する、コーディングの『リファクタリング力』をつけるために、
『新装版 リファクタリング 既存のコードを安全に改善する(※Java版)』を
学習している過程で遭遇した不具合についてのご報告で~す✨

リファクタリング本第8章第6節『観察されるデータの複製』の実行時につまづく

はい、さっそくですが上記サンプルコードをIntellijiで写経?し、いざメインメソッドを『実行』すると下記のエラーが。。。

なんということでしょう!!
けど大丈夫。そんなときも慌てないで。
エラーを上から順に見ていくとログがありますよ~とのご指示が。。。

と、いうわけでせっかくのITエンジニアなんで、
ちょっと本格派を目指してエラーログの中身を見てみましょう。

うげ! サクラエディタ。。。
もとい、こんなイミフなログ内容を見ても正直萎えますよね。。。

けどご安心ください!エラーログを見て調査するケースのほぼ7割くらいは、
中身を『Err』か『Error』で検索してあとはヒットしたのをググるだけです♪(当社比)

本当かな?(;^_^A
それでは今回もそのようにしてやってみましょう~✨

(※当社の算出した数値は客観性を欠いたいい加減な数値であり、お客様のご覧になる環境によって、実際の成功率とは異なる場合がございます)

①エラーログ『hs_err_pidxxxx.log』をエディタで開いて『err』で検索

こんなのでました♪

②ヒットしたエラーメッセージ『NoSuchMethodError』や、すぐ近くの『java.lang.Object java.lang.invoke.DirectMethodHandle』などを絡めてググる

『本格派』とか言いながら結局ググるんすよ。。。。

③それっぽいのを(勘で)見つけたら、開いてみてみる

ちなみに、あっしは『Ctrl + クリック』など、新しいタブで開いて元の検索結果は残しとく派です。。。

④『NoSuchMethodError:クラス定義が変更されて互換性が失われた場合にだけ実行時に発生します。』とか書いてあるからプロジェクトのJDKを変更することにする(仮説)

お、ここら辺は『本格派』っぽいですかね~♪
ってか10年以上エンジニアやってんのにあっしはまだこの程度なんか。。。

④-①Intellijiで『ファイル』>『プロジェクト構造』

④-②『プロジェクトJDK』を『JDK13』から『JBR-11』へ(※このIntellijiのデフォルトに戻す)


↓↓↓

⑤書いたソースコードの「main」メソッドを実行したところ無事デスクトップアプリケーションが起動!(検証)

とりあえず今回はこれで良しとしてよろしいですかね(;^_^A

補足)エラーメッセージやエラーログの内容をググるときは慎重に!!

これなぜかと言うと例えばお仕事の場合お客様独自のフレームワークやら製品の情報が含まれる場合があるからなんです(;^ω^)

また個人開発でも普段PCってネットワークにつながっているので、パソコンの中身がわかっちゃうパスなどの情報は気をつけた方が良いでしょうね。。。まぁ、あっしは個人開発のは気持ち気をつけてる程度ですけど。。。

お仕事のは絶対気をつけましょうね!
仕事無くなっちゃいますよ!

結びに

はい、今回は以上です✨
なかなかガンガン投稿できておりませんが、
これからもがんばります✨

あ、近々未完であった『読むだけでわかる!?オブジェクト指向デザインパターンの基礎の基礎』シリーズの執筆を再開したいと考えております✨

※このサンプルコードをGitHubにアップしております✨
ちゃんと動きますんでよろしかったらよろしく!!

https://github.com/KagaminPower003/RefactoringNewEdition/tree/master/src/chapter08/section006/before

それではまた~✨

Discussion

ログインするとコメントできます