kwnjnk
@kwnjnk

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

SpringBoot Enumクラスを作成できない

解決したいこと

SprinBootプロジェクトの
Enumクラスで発生しているエラーを解決したい。

発生している問題・エラー

スクリーンショット 2024-08-20 195720.png

エラー内容

戻りの型が継承されたメソッド Constable.describeConstable(), Enum<SignupMessage>.describeConstable() と非互換です

enumクラスを作成しようとすると、なぜかこのようなエラーが発生します。
新規プロジェクトで作成しても発生するので、環境設定の問題なのでしょうか。

調べてもそれらしい情報も見当たらず、行き詰っています。

自分で試したこと

・新規プロジェクトで同じように作成してみる
・import java.lang.*;の追加(追加できませんでした)

どなたか、わかる方いらっしゃいましたらご教示お願いします。。

追記:なぜか解決した(2024/8/21)

スクリーンショット 2024-08-21 103646.png

上記のように、新規で空白のプロジェクトにEnumを作成しても同エラーが発生していたのですが、
Enumが使われているサンプルのプロジェクトを読み込んでみたところ
エラーなく普通に表示されていたので、
そのクラスファイルをコピーし自分のプロジェクトに読み込ませてみたところ
エラーが発生しなくなりました。
その後、新規にEnumクラスを作成しても、エラーは表示されませんでした。

考えられる原因など、わかる方がいらっしゃいましたら、よろしくお願いいたします。。

0

2Answer

MessageConst.SIGNUP_EXISTED_LOGINID (でしょうか?) はご自分で用意されたものでしょうか?
それ含めコード全体を提示していただくことは可能でしょうか。

0Like

Comments

  1. @kwnjnk

    Questioner

    コメントありがとうございます。
    実は、先ほどなぜか解決しまして、、、
    昨日までは以下のように
    スクリーンショット 2024-08-21 103646.png
    新規で空白のプロジェクトにEnumを作成しても同エラーが発生していたのですが、
    Enumが使われているサンプルのプロジェクトを読み込んでみたところ
    エラーなく普通に表示されていたので、
    そのクラスファイルをコピーし自分のプロジェクトに読み込ませてみたところ
    エラーが発生しなくなりました。
    その後、新規にEnumクラスを作成しても、エラーは表示されませんでした。

    原因がわからず若干モヤモヤはしていますが、
    一旦解決はしたのでご報告させていただきます。。
    コメントいただきありがとうございました、、!

  2. @kwnjnk

    Questioner

    解決したのでクローズしようかと思いましたが、
    原因が気になるのでもう少しだけオープンさせていただきます。
    考えられる原因などご存じの方がいらっしゃいましたらよろしくお願いいたします。。

私の環境で試しても特にコンパイルエラーも出ませんし、文法的にも全く問題ない認識です。

エラー文はメソッドのオーバーライドに関する問題に見えます。
使用されている、AllArgsConstructorアノテーションが一番臭そうに見えますね・・

うまくビルドが走っておらず、lombok.AllArgsConstructorの依存関係が解決できていなかったため発生したのではと推察します。

試しにAllArgsConstructorアノテーションを使用せずに、自作でコンストラクタを記述した場合、コンパイルエラーにならないか検証してみる価値はあったかもしれません。
(すでに事象が解決してしまっており、再現自体ができないかもしれませんが。)

0Like

Comments

  1. @kwnjnk

    Questioner

    コメントありがとうございます。
    うまくビルドが走らず依存関係が解決できないことがあるのですね、、!
    追記に記載したように、新規プロジェクトを作成して空のEnumファイルを追加しても
    同エラーが発生していたのですが、
    Maven依存関係がおかしくなってしまっていた状態のところを
    外部ファイルを追加したことで依存関係の再構築が行われてエラーが発生しなくなった、ということでしょうか。
    (解釈や日本語がおかしかったらすみません)
    うっすら原因がわかった気がするので、このあたりでクローズさせていただきます。
    ありがとうございました!

Your answer might help someone💌