LoginSignup
3
2

More than 3 years have passed since last update.

Mavenリポジトリから壊れたJARを一括削除する

Last updated at Posted at 2016-11-09

問題

Javaのトラブルシューティングで遭遇する厄介な問題に、原因不明のClassNotFoundExceptionがある。原因を調べていくと、ローカルMavenリポジトリのJARが壊れていた、ということがある。とくに、外部Mavenリポジトリサーバが一時的にダウンしていたり、別のURLに移動したりしていた場合、中身がHTML(Webサーバのエラーページ)のJARがリポジトリに紛れ込んでいることがある。

こういった問題のトラブルシューティングは非常に面倒なので、原因不明のエラーに悩まされないためにも、このような中身がHTML形式になっている壊れたJARをローカルMavenリポジトリから一掃したい。

解決方法

ローカルのMavenリポジトリに行って、以下のコマンドを実行する。

$ cd ~/.m2/repository/
$ find . -type f -name *.jar | xargs file --mime-type -F '' | grep "text/html" | awk '{ print $1 }' | xargs -I{} rm -v {}
3
2
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
3
2