Bukkit classloader problem

Discussion in 'Spigot Plugin Help' started by Enfield, Mar 22, 2020.

  1. Ok this is a followup thread from my last thread: https://www.spigotmc.org/threads/java-12-i-cant-get-jaxb-to-work-in-my-maven-project.423669/

    trdr; I'm updating from Java8 to Java12-13 and since java 11 they removed a lib I use.
    So, I have an the lib I'm using called JAXB (Java API(Application Programing Interface) for XML(eXtensible Markup Language) Binding)
    However this lib isn't working in my fatjar when it is loaded by the server, but as a standalone executable JAR it works fine!

    If i drop the libs directly into the server JAR It also works, but in order for it to work I have to change "com.sun.xml.bind.v2.ContextFactory" to "com.sun.xml.internal.bind.v2.ContextFactory" However when being ran as a executable jar it doesn't need the internal bit to work, looks for "com.sun.xml.bind.v2.ContextFactory" instead.

    This seems like a classloader issue / incompatibility with the lib vs the servers way of loading plugins, is there a fix for this?

    the lib(s) are:

    Code (Text):
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>2.3.2</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-runtime</artifactId>
                <version>2.3.2</version>
            </dependency>
    Perhaps a Different lib exists of the same functionality?