Помогите Ошибка в работе с конфигом

Статус
Закрыто для дальнейших ответов.

_MCMaster_

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
DragOn4ik
Hi 🙂
При загрузке плагина получаю ошибку на вот этой строке:
PHP:
FileConfiguration config = getConfig();
Ошибка:
Код:
[SEVERE] Could not load 'plugins/stats.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.IllegalArgumentException: File cannot be null
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:182)     
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305)     
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230)     
at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugins(CraftServer.java:239)     
at org.bukkit.craftbukkit.v1_5_R3.CraftServer.reload(CraftServer.java:603)     
at org.bukkit.Bukkit.reload(Bukkit.java:275)     
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23)     
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189)     
at org.bukkit.craftbukkit.v1_5_R3.CraftServer.dispatchCommand(CraftServer.java:523)     
at org.bukkit.craftbukkit.v1_5_R3.CraftServer.dispatchServerCommand(CraftServer.java:512)     
at net.minecraft.server.v1_5_R3.DedicatedServer.an(DedicatedServer.java:262)     
at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:227)     
at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477)     
at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410)     
at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573) 
Caused by: java.lang.IllegalArgumentException: File cannot be null     
at org.apache.commons.lang.Validate.notNull(Validate.java:203)     
at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:170)     
at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:117)     
at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:111)     
at com.dragon4ik.stats.Main.<init>(Main.java:17)     
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)     
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)     
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)     
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)     
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:178)     
... 14 more
Конфиг копирую так:
PHP:
config.options().copyDefaults(true);
Ошибка не пропадает при ручном создании конфига в папке stats.
 
Черт, даже не замечал никогда ту галочку с дебаг строчками, теперь все еще проще, +1 в копилку опыта (деградации)
@_MCMaster_ Ну что там?
Получаю конфиг напрямую через getConfig(), т.к. понять не могу в чем проблема, а править код ядра... не-не это не для меня) Я ещё до этого не дорос 🙂
Сейчас вместо
Код:
FileConfiguration config = getConfig();
config.getInt("integer.int");
использую
Код:
getConfig().getInt("integer.int");
Так всё работает без ошибок.
 
Получаю конфиг напрямую через getConfig(), т.к. понять не могу в чем проблема, а править код ядра... не-не это не для меня) Я ещё до этого не дорос 🙂
Да не править, а просто посмотреть источник проблемы.

Сейчас вместо
Код:
FileConfiguration config = getConfig();
config.getInt("integer.int");
использую
Код:
getConfig().getInt("integer.int");
Так всё работает без ошибок.
Дак одинаково же тут.
 
Получаю конфиг напрямую через getConfig(), т.к. понять не могу в чем проблема, а править код ядра... не-не это не для меня) Я ещё до этого не дорос 🙂
Сейчас вместо
Код:
FileConfiguration config = getConfig();
config.getInt("integer.int");
использую
Код:
getConfig().getInt("integer.int");
Так всё работает без ошибок.
Ты точно там ничего не скрываешь? 🙄
 
Ты точно там ничего не скрываешь? 🙄
Глядишь, а у него подпольный класс FileConfiguration, который хотсвапает баккитовский и умещает говнокод с кучей костылей и багов 🙂
 
Глядишь, а у него подпольный класс FileConfiguration, который хотсвапает баккитовский и умещает говнокод с кучей костылей и багов 🙂
Не, он мог просто getConfig перезаписать у себя в плагине, хотя это не объяснит почему эти штуки выше странно работают
 
Получаю конфиг напрямую через getConfig(), т.к. понять не могу в чем проблема, а править код ядра... не-не это не для меня) Я ещё до этого не дорос 🙂
Сейчас вместо
Код:
FileConfiguration config = getConfig();
config.getInt("integer.int");
использую
Код:
getConfig().getInt("integer.int");
Так всё работает без ошибок.
Иди лучше яву учи, код одинаковый
 
Иди лучше яву учи, код одинаковый
Я же выше написал:
То что код одинаковый, здесь и лоху понятно
Но почему там ошибка? Понимаешь, если я использую объект config класса FileConfiguration то ошибка. Если использую getConfig(), который возвращает как раз тот самый объект, то ошибки нет...
 
Я же выше написал:

То что код одинаковый, здесь и лоху понятно
Но почему там ошибка? Понимаешь, если я использую объект config класса FileConfiguration то ошибка. Если использую getConfig(), который возвращает как раз тот самый объект, то ошибки нет...
Ну все все, работает - не трогай.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх