NoSuchMethodError
クラスはあるがメソッドがない:なぜこれが常にバージョン不一致なのか、何を更新すべきかを見つける方法。
更新日 2026年8月13日
java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()Ljava/util/List;
プラグインがお使いのバージョンに存在しないメソッドを呼び出しています。そのメソッドは後から追加されたか、削除されたものです。
意味
ほとんどの場合、バージョンの不一致が原因です。
- プラグインが別の Minecraft バージョン向けにビルドされている。
- プラグインが別のバージョンの依存関係(Vault、ProtocolLib、PlaceholderAPI)向けにビルドされている。
- 同じライブラリの2つのバージョンがフォルダ内に存在している。
読み方
org.bukkit... — プラグインが別のサーバーバージョン向けにビルドされています。ライブラリのパッケージ名であれば、それが更新すべき対象です。
手順
- プラグインをサーバーバージョン向けのビルドに更新します — 互換性。
- パッケージ名が示されている場合は、その依存関係を更新します。
plugins内に重複した jar ファイル(旧バージョンと新バージョンが同時に存在)がないか確認します — これは定番の原因です。- プラグインが長期間更新されていない場合は、代替を探します。古い API のメソッドが復活することはありません。
サーバーバージョン変更後
このエラーは、Minecraft バージョン更新後に最もよく発生します。プラグインはサーバーと同時に更新し、後回しにしないでください — サーバーの更新。
Minecraftホスティングオフラインでもサーバーが稼働サーバーを作成
