java.nio.file.FileSystemNotFoundException on Linux

Issue #2 new
Andrew Pietila created an issue

Looking at the code in IntelliJ, it appears to be the following line of code at fault (in copyDirectoryFromJar):

            FileSystem fileSystem = FileSystems.newFileSystem(Paths.get(split[0].substring(6)), classInJar.getClassLoader());

split[0] in the following would be as follows:

file:/home/rallias/.local/share/multimc/instances/DevTesting/.minecraft/mods/Triumph-1.12.2-1.7.2.jar

There's two potential options to fix this issue.

  1. classInJar.getClassloader().loadResource() (based on what the stack trace looks like it's doing, this would be the best option, but would require having all the files listed)

  2. Use java.net.URI.getPath() to grab the path appropriately, rather than attempting to manipulate it manually.

The stacktrace is below. The reason for failure is because your code does not include the preceding '/', required to get an exact (rather than relative) file on Linux (and, I think, MacOS).

[12:48:14] [Server thread/ERROR] [FML]: Exception caught during firing event com.bloodnbonesgaming.bnbgamingcore.events.AdvancementAboutToLoadEvent@cbde13c:
java.nio.file.FileSystemNotFoundException: home/rallias/.local/share/multimc/instances/DevTesting/.minecraft/mods/Triumph-1.12.2-1.7.2.jar
    at com.sun.nio.zipfs.ZipFileSystem.<init>(ZipFileSystem.java:120) ~[zipfs.jar:1.8.0_151]
    at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:139) ~[zipfs.jar:1.8.0_151]
    at java.nio.file.FileSystems.newFileSystem(FileSystems.java:390) ~[?:1.8.0_151]
    at com.bloodnbonesgaming.lib.util.FileHelper.copyDirectoryFromJar(FileHelper.java:61) ~[FileHelper.class:?]
    at com.bloodnbonesgaming.triumph.config.DefaultConfigs.printDefaultConfigs(DefaultConfigs.java:10) ~[DefaultConfigs.class:?]
    at com.bloodnbonesgaming.triumph.config.ConfigurationManager.handleDefaultConfigsAndDocumentation(ConfigurationManager.java:76) ~[ConfigurationManager.class:?]
    at com.bloodnbonesgaming.triumph.config.ConfigurationManager.init(ConfigurationManager.java:41) ~[ConfigurationManager.class:?]
    at com.bloodnbonesgaming.triumph.events.CoreEventHandler.onAdvancementAboutToLoad(CoreEventHandler.java:60) ~[CoreEventHandler.class:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_17_CoreEventHandler_onAdvancementAboutToLoad_AdvancementAboutToLoadEvent.invoke(.dynamic) ~[?:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?]
    at net.minecraft.advancements.AdvancementManager.func_192777_a(AdvancementManager.java:184) [ns.class:?]
    at net.minecraft.advancements.AdvancementManager.func_192779_a(AdvancementManager.java:68) [ns.class:?]
    at net.minecraft.advancements.AdvancementManager.<init>(AdvancementManager.java:60) [ns.class:?]
    at net.minecraft.world.WorldServer.func_175643_b(WorldServer.java:156) [oo.class:?]
    at net.minecraft.server.integrated.IntegratedServer.func_71247_a(IntegratedServer.java:122) [chd.class:?]
    at net.minecraft.server.integrated.IntegratedServer.func_71197_b(IntegratedServer.java:156) [chd.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
[12:48:14] [Server thread/ERROR] [FML]: Index: 1 Listeners:
[12:48:14] [Server thread/ERROR] [FML]: 0: NORMAL
[12:48:14] [Server thread/ERROR] [FML]: 1: ASM: com.bloodnbonesgaming.triumph.events.CoreEventHandler@5f735240 onAdvancementAboutToLoad(Lcom/bloodnbonesgaming/bnbgamingcore/events/AdvancementAboutToLoadEvent;)V
[12:48:14] [Server thread/ERROR]: Encountered an unexpected exception
java.nio.file.FileSystemNotFoundException: home/rallias/.local/share/multimc/instances/DevTesting/.minecraft/mods/Triumph-1.12.2-1.7.2.jar
    at com.sun.nio.zipfs.ZipFileSystem.<init>(ZipFileSystem.java:120) ~[zipfs.jar:1.8.0_151]
    at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:139) ~[zipfs.jar:1.8.0_151]
    at java.nio.file.FileSystems.newFileSystem(FileSystems.java:390) ~[?:1.8.0_151]
    at com.bloodnbonesgaming.lib.util.FileHelper.copyDirectoryFromJar(FileHelper.java:61) ~[FileHelper.class:?]
    at com.bloodnbonesgaming.triumph.config.DefaultConfigs.printDefaultConfigs(DefaultConfigs.java:10) ~[DefaultConfigs.class:?]
    at com.bloodnbonesgaming.triumph.config.ConfigurationManager.handleDefaultConfigsAndDocumentation(ConfigurationManager.java:76) ~[ConfigurationManager.class:?]
    at com.bloodnbonesgaming.triumph.config.ConfigurationManager.init(ConfigurationManager.java:41) ~[ConfigurationManager.class:?]
    at com.bloodnbonesgaming.triumph.events.CoreEventHandler.onAdvancementAboutToLoad(CoreEventHandler.java:60) ~[CoreEventHandler.class:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_17_CoreEventHandler_onAdvancementAboutToLoad_AdvancementAboutToLoadEvent.invoke(.dynamic) ~[?:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) ~[EventBus.class:?]
    at net.minecraft.advancements.AdvancementManager.func_192777_a(AdvancementManager.java:184) ~[ns.class:?]
    at net.minecraft.advancements.AdvancementManager.func_192779_a(AdvancementManager.java:68) ~[ns.class:?]
    at net.minecraft.advancements.AdvancementManager.<init>(AdvancementManager.java:60) ~[ns.class:?]
    at net.minecraft.world.WorldServer.func_175643_b(WorldServer.java:156) ~[oo.class:?]
    at net.minecraft.server.integrated.IntegratedServer.func_71247_a(IntegratedServer.java:122) ~[chd.class:?]
    at net.minecraft.server.integrated.IntegratedServer.func_71197_b(IntegratedServer.java:156) ~[chd.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]

Comments (1)

  1. Log in to comment