Solved Dependencies in IntelliJ Idea

Discussion in 'Plugin Development' started by z3db0y, Aug 7, 2021.

Thread Status:
Not open for further replies.
  1. Offline

    z3db0y

    Hello.

    I am trying to build a plugin with websockets. It requires a .jar websocket api, which throws a ClassNotFoundException. I tried adding it to build as seen below.

    Artifacts (open)

    upload_2021-8-7_11-58-41.png

    Part of the stack trace (open)

    upload_2021-8-7_11-59-22.png


    Full stack trace (open)
    Code:
    [11:43:04 ERROR]: Error occurred while enabling MCMGMT_EARLY_BUILD v0.5 (Is it up to date?)
    java.lang.NoClassDefFoundError: org/java_websocket/client/WebSocketClient
            at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_271]
            at java.lang.ClassLoader.defineClass(Unknown Source) ~[?:1.8.0_271]
            at java.security.SecureClassLoader.defineClass(Unknown Source) ~[?:1.8.0_271]
            at java.net.URLClassLoader.defineClass(Unknown Source) ~[?:1.8.0_271]
            at java.net.URLClassLoader.access$100(Unknown Source) ~[?:1.8.0_271]
            at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.8.0_271]
            at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.8.0_271]
            at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_271]
            at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_271]
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:191) ~[spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:97) ~[spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_271]
            at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_271]
            at me.z3db0y.mcmgmt.Main.onEnable(Main.java:12) ~[?:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:402) [spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:374) [spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:323) [spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:421) [spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:382) [spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:337) [spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:272) [spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:544) [spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
    Caused by: java.lang.ClassNotFoundException: org.java_websocket.client.WebSocketClient
            at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_271]
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot-1.12.jar:git-Spigot-596221b-9a1fc1e]
            at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_271]
            at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_271]
            ... 27 more
     
  2. Offline

    Kars

    z3db0y and Shqep like this.
  3. Offline

    Shqep

    @z3db0y
    @Kars is right. +1 for Gradle as well, even though it has a steeper learning curve than Maven.


    But if for some reasons, you want to use Ant, just, no, please.
     
  4. Offline

    z3db0y

    Alright, although I have no clue how to use maven, I'll try it. Hit me up for any further details, marking this as solved.

    Can you please explain how to do this? I added the pom.xml to build artifacts and tried adding the websocket dependency (it appeared in the root directory of my .jar plugin as a .jar file) but still no luck.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Aug 8, 2021
  5. Offline

    Kars

    You don't need to add anything to the build artifacts. You add the dependency in your pom.xml, reimport and then you can use the dependency. The build artifact needs to contain your compile output and plugin.yml. That's it.

    To make sure your project is a Maven project, create your project in IntelliJ as a new Maven project and then copy your code over.
     
    Last edited: Aug 10, 2021
    z3db0y likes this.
Thread Status:
Not open for further replies.

Share This Page