【Spring Boot】Mavenでハマった「java.lang.NoClassDefFoundError」

GithubやらGetting−Startedやらで頂戴してきたプロジェクトを実行しようとして、謎のエラーにハマったことはないですか?私はあります。このエラーです。

java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException

Maven -cleanしても、installし直しても、pom.xmlを見直してもとんとわからないこのエラー。

海外でも結構ハマっている人が多い様子で、結構出てきます。StackOverFlowに答えがありました。さすが。

https://stackoverflow.com/questions/40138247/maven-spring-boot-failed-to-instantiate-slf4j-loggerfactory-reported-exception

どうもローカルに持っているリポジトリと整合が合わなくなっているようで、一回パージしろと。

ですので、私はこんな感じの手順でやりました。

  1. ローカルPCのリポジトリをFinder(Windowsの方はExplorer)で、手動削除する。パスは「/Users/[ユーザー名]/.m2/repository」。隠しフォルダになっているので、Finderで[移動]→[フォルダへ移動]で上記のパスを指定してあげます。そして、repositoryフォルダごとまるっと削除してしまいます。
  2. 実行したいプロジェクトを右クリック→[実行]→[Maven Clean]します。すると、今までとは違うログが…!リモートからライブラリをダウンロードし直したりしてくれてます。
  3. その後、同様にプロジェクトを右クリック→[実行]→[Maven Install]
  4. ほら、動いた!

Antが最新知識なので、Mavenさっと勉強しないと…。あぁ。次はgradleか…。着いてけるかなぁ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です