Guidefor server owners4 min read
NoClassDefFoundError: net/kyori/examination/Examinable on Paper 26.2, and the Adventure 5 break behind it
Paper 26.2, Purpur and Velocity 3.5.0 moved from Adventure 4 to Adventure 5. Plugins compiled against Adventure 4, or bundling a library that was, stop loading. The exact errors, why a server owner cannot fix it, and what a plugin developer changes.
The errors
Three different messages, one cause. If your console shows any of these on Paper 26.2, Purpur 26.2, or another Paper fork on that version, you are looking at the same problem.
java.lang.NoClassDefFoundError: net/kyori/examination/Examinable
java.lang.NoSuchMethodError: 'net.kyori.adventure.text.BuildableComponent
net.kyori.adventure.text.TextComponent$Builder.build()'
java.lang.NoSuchMethodError: 'net.kyori.adventure.inventory.Book
org.bukkit.inventory.meta.BookMeta.pages(...)'
Server owners rarely quote those. They report it as the plugin refusing to enable on 26.2, or as the server saying the plugin is not up to date. That second phrasing is where people go wrong, because it sounds like a download will fix it, and usually there is no fixed download yet.
What actually changed
Adventure is the text component library that Paper, Velocity and most of the plugin ecosystem use for chat, item names, GUI titles and books. Paper moved it from version 4 to version 5 in pull request 13993, titled "Update adventure to 5.2.0", merged into the 26.2 development branch on 27 June 2026. Purpur and other Paper forks inherit that change automatically. Velocity did the same in pull request 1774 on 10 July 2026, landing in 3.5.0.
Two removals in Adventure 5 cause almost all of the breakage. From Adventure's own 4.x migration guide:
BuildableComponenthas been removed. You can now obtain aComponentBuilderdirectly from aComponentusingComponent#toBuilder.
and
As most of the internal implementation of Adventure is now using records, we no longer need to use the Examination library for
toStringgeneration. The Examination library has been entirely removed from Adventure and is no longer a transitive dependency.
The second one is the wide net. Component used to extend net.kyori.examination.Examinable. That means any class compiled against Adventure 4 that so much as accepts a Component records a reference to net/kyori/examination/Examinable in its bytecode, without the author ever writing that package name. Adventure 5 dropped the artifact, Paper no longer ships it, and the class is not there at load time.
The BuildableComponent case is subtler. Under Adventure 4, calling build() on a component builder compiled down to a method whose erased return type was BuildableComponent. Remove the interface and that method signature disappears, so old bytecode asks for a method the new jar does not have. Adventure 5.2.0 walked this one back and restored BuildableComponent to the hierarchy as a deprecated interface, precisely because of the breakage, with removal now scheduled for 6.0. Builds carrying an earlier Adventure 5 still fail, which is what a BetterHud report against Purpur 26.2 shows.
The BookMeta.pages(...) failure is the same story at the Bukkit API layer, tracked in Paper issue 14030, where Adventure based setters that existed on 26.1.2 are gone on 26.2.
This is not one broken plugin
A code search across public repositories in 2026 found 61 hitting the net/kyori/examination signature. The usual carrier is not the plugin itself but PacketEvents, which a great many plugins shade into their own jar. One outdated bundled copy breaks a plugin whose own source was never the problem. AntiSeedCracker issue 2 is a clean example: the plugin failed with the Examinable error purely because it bundled PacketEvents 2.13.0.
Velocity's side got a pointed complaint about this. Issue 1842 argues that Adventure 4 was a public API dependency and that changing it broke the expectation that plugins built against 3.0 or 3.2 keep working on later 3.x releases, with the change never flagged as breaking. It is closed now, but it is the clearest statement of why so many people were caught out at once.
If you run the server
You cannot fix this from the server side, and that is worth saying plainly. The mismatch lives inside a compiled jar you did not build.
Your options, in order of how much I would recommend them:
- Wait for the plugin update. This is usually right. The fix is a recompile against Adventure 5 for most plugins, or a bumped PacketEvents version for the shading cases, and it lands quickly once the author notices.
- Downgrade to Paper 26.1. The only genuine server side workaround. Adventure 4 comes back and the plugin loads. Take a backup first, and check whether other plugins have already moved to 26.2 only builds.
- Hand patching the jar. For the
Examinablecase specifically, adding alibraries:block to the plugin'splugin.ymldeclaringnet.kyori:examination-api:1.3.0andexamination-string:1.3.0makes the server download the missing artifacts, and the AntiSeedCracker reporter confirmed it works. It is still editing somebody else's jar, and it will be undone by the next update.
If you write the plugin
Rebuild against Adventure 5. Replace BuildableComponent usage with Component#toBuilder, which now lives on Component itself and removes the cast. Note that NBTComponent takes one type argument instead of two. If you shade PacketEvents or anything else that touches components, bump it to a build compiled against Adventure 5, since your own recompile does nothing for code you bundled.
For the general shape of version breakage and how to avoid the next one, see what breaks plugins when Minecraft gets a new drop. This page is the specific instance. That page is the pattern.

