Solved NoSuchMethodError

Discussion in 'Plugin Development' started by Blah1, Mar 27, 2014.

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

    Blah1

    So I'm getting this random error all of a sudden. (It might be because I updated my server to 1.7.5 but idk.

    Code:
    [12:13:17 ERROR]: Could not load 'plugins\MainKitsPlugin.jar' in folder 'plugins
    '
    org.bukkit.plugin.InvalidPluginException: java.lang.NoSuchMethodError: Mains.Lan
    gYAML.<init>(LMains/MainKits;)V
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:131) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:328) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:251) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
            at org.bukkit.craftbukkit.v1_7_R2.CraftServer.loadPlugins(CraftServer.ja
    va:351) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
            at org.bukkit.craftbukkit.v1_7_R2.CraftServer.<init>(CraftServer.java:31
    3) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
            at net.minecraft.server.v1_7_R2.PlayerList.<init>(PlayerList.java:63) [c
    raftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
            at net.minecraft.server.v1_7_R2.DedicatedPlayerList.<init>(SourceFile:14
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
            at net.minecraft.server.v1_7_R2.DedicatedServer.init(DedicatedServer.jav
    a:126) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
            at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java
    :426) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
            at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:6
    18) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
    Caused by: java.lang.NoSuchMethodError: Mains.LangYAML.<init>(LMains/MainKits;)V
     
            at Mains.MainKits.<init>(MainKits.java:224) ~[?:?]
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    ~[?:1.7.0_45]
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    ~[?:1.7.0_45]
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
    rce) ~[?:1.7.0_45]
            at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.7.0_4
    5]
            at java.lang.Class.newInstance(Unknown Source) ~[?:1.7.0_45]
            at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
    a:52) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:127) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-8-ga662658-b3032jnks]
            ... 9 more
    Line 224:
    LangYAML langYAML = new LangYAML(this);
    LangYAML Class:
    Show Spoiler

    Code:java
    1. public class LangYAML {
    2. private MainKits plugin;
    3.  
    4. public LangYAML(MainKits plugin) {
    5. this.plugin = plugin;
    6. }
    7. private FileConfiguration lang = null;
    8. private File langFile = null;
    9. public FileConfiguration getLang() {
    10. if (lang == null) {
    11. reloadLang();
    12. }
    13. return lang;
    14. }
    15. public void saveDefaultLang() {
    16. if (langFile == null) {
    17. langFile = new File(plugin.getDataFolder(), "lang.yml");
    18. }
    19. if (!langFile.exists()) {
    20. plugin.saveResource("lang.yml", false);
    21. }
    22. }
    23. public void reloadLang() {
    24. if (langFile == null) {
    25. langFile = new File(plugin.getDataFolder(), "lang.yml");
    26. }
    27. lang = YamlConfiguration.loadConfiguration(langFile);
    28.  
    29. InputStream defConfigStream = plugin.getResource("lang.yml");
    30. if (defConfigStream != null) {
    31. YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
    32. lang.setDefaults(defConfig);
    33. }
    34. }
    35. public void saveLang() {
    36. if (lang == null || langFile == null) {
    37. return;
    38. }
    39. try {
    40. this.getLang().save(langFile);
    41. } catch (IOException ex) {
    42. ex.printStackTrace();
    43. }
    44. }
    45. }



    I made a new class name LangsYAML and it just worked... So random.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 7, 2016
  2. Offline

    GaaTavares

    Can you please set the title to solved? So everyone who has the same issue could fix..
     
  3. Offline

    PogoStick29

    The issue was that you had referenced the class somewhere, but the class had been removed. You could just remove the class you made and remove any references to it. I need to make a video on reading stack traces.
     
  4. Offline

    Blah1

    PogoStick29 I never removed the class. I moved around some packages and stuff and that's probably what did it.
     
  5. Offline

    PogoStick29

    Sounds like either you moved instead of refactoring (maybe you weren't using an IDE?) or you forgot to update your imports.
     
Thread Status:
Not open for further replies.

Share This Page