Skip to main content
Early Access: MineXHost is live and still being built. Expect maintenance and occasional outages. Check live status
Mods and loadersForgeNeoForge

java.lang.module.ResolutionException: “Module … reads more than one module named …” on a Forge or NeoForge server

Updated 4 min read By MineXHost

Modern Forge and NeoForge load mods through Java's module system, and that system refuses to start when two jars provide a module with the same name. The server stops before any mod runs. The fix is to find the second copy and remove it, and the error line already tells you what to look for.

How to read the line

A real example, captured from a modpack test: java.lang.module.ResolutionException: Module justplayerheads reads more than one module named com.electronwill.nightconfig.toml.

  • The name after reads more than one module named is the module that is present twice. That is the one to act on.
  • The name before it (justplayerheads here) is only the first module Java checked that can see the duplicate. It is not the culprit, and it can change on every restart while the duplicated name stays the same.

Java's module system checks that no module can see two modules with the same name. The check runs while the loader assembles its module layer, before any mod's code runs, which is why no mod is blamed in the error.

The usual cause

A library jar sits loose in mods/ while the same library is already present elsewhere, either in the loader's libraries folder or inside another jar in mods/. Packs that ship one stray library jar often ship several.

How to fix it

  1. Copy the module name after reads more than one module named. Ignore the first name on the line.
  2. Look in mods/ for a jar whose file name names that library. The module name usually follows the library's package, so com.electronwill.nightconfig.toml points at a night-config jar.
  3. If you are not sure which jars provide it, open candidates as zip files: check META-INF/MANIFEST.MF for Automatic-Module-Name, and look for a module-info.class.
  4. If the same library is also under libraries/, move the copy in mods/ out. If two jars in mods/ both provide it and nothing in libraries/ does, keep one (normally the newer) and move the other.
  5. Never remove the only copy: the error turns into a missing-module crash. Check that no mod lists the removed jar as a dependency.
  6. Restart, and repeat if a different module name appears. If the module is bundled inside a mod rather than a loose library jar, report it to that mod's author instead of editing the jar.

Two copies of the same mod, rather than of a library module, print a different error on Forge and NeoForge.

Read the duplicate mods guide

What MineXHost's launcher does with this crash

MineXEngine, our launcher, reads the duplicated module name from the error and finds which jar in mods/ provides it by reading the jar's own module metadata, not by guessing from file names. It refuses to point at a jar that is the only copy of the module, so following its note cannot leave the server without that library.

On a customer server it does not remove that jar. Crash recovery for this error is identify-only: the engine names the file in your console as the one to update or remove, and leaves your mods folder as you installed it.

MineXHost runs Forge and NeoForge packs on MineXEngine. Our launcher detects the modpack, picks the right Minecraft loader and Java version, tunes the JVM for your RAM, and auto-recovers from the crashes that normally end a modded server's evening. Pick your RAM, paste the pack, and play.

See hosting plans

Frequently asked questions

What does “Module X reads more than one module named Y” mean?

Module X reads more than one module named Y means the Java module system found two jars that both provide the module named Y, and it refuses to build the server's module layer until one is gone, so a Forge or NeoForge server stops before any mod loads. Y is the duplicate; X is only the first module that noticed.

Why does the first module name keep changing?

The first module name changes because it is whichever module the Java runtime happened to check when it found the duplicate, so it is not the culprit and it can differ between restarts, while the name after reads more than one module named stays the same because that library is the one present twice. Act on the second name only.

Which copy of the duplicated module should I remove?

Remove the copy in the mods folder when the loader already ships the same library in its libraries folder, and when both copies are in the mods folder keep the newer one and remove the other, but never remove the only copy, because the error then becomes a missing-module crash. Check that no mod depends on the jar you remove.

Does MineXHost remove the duplicate module for me?

MineXHost does not remove the duplicate module jar on a customer server: MineXEngine identifies which jar in your mods folder provides the duplicated module and names it in the console as the file to remove, but crash recovery for this error is identify-only and leaves the folder as you installed it. It never names a jar that is the only copy.

Still stuck?

Every ticket is answered by a real person who plays Minecraft and knows modpacks. Send the full console output, not just the last line. Customers open a ticket from the panel; anyone can ask in our Discord.

  • Live support 5PM-12AM ET on weekdays
  • Replies typically within 12 hours
  • Limited availability on weekends