2015-11-02 6 views
0

Я пытаюсь создать плагин spigot/bukkit, который контролирует информацию о соединениях с проигрывателем, я пытался добавить MaxMind's GeoIP2 java api и в последний раз, когда я спросил how to add it's dependencies. Я установил m2e и добавил зависимость для geoip2, но когда я запускаю мой тестовый сервер Bukkit я получаю эту ошибку:noClassDefFound error with maven

[20:35:14] [Server thread/ERROR]: Error occurred while enabling ConnectionInfo v0.0.1.15 (Is it up to date?) java.lang.NoClassDefFoundError: com/maxmind/geoip2/exception/GeoIp2Exception at net.comdude2.plugins.connectioninfo.main.ConnectionInfo.onEnable(ConnectionInfo.java:107) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:335) [spigot_server.jar:git-Spigot-c3c767f-33d5de3] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot_server.jar:git-Spigot-c3c767f-33d5de3] at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:356) [spigot_server.jar:git-Spigot-c3c767f-33d5de3] at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:316) [spigot_server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.q(MinecraftServer.java:402) [spigot_server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.k(MinecraftServer.java:370) [spigot_server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.a(MinecraftServer.java:325) [spigot_server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:211) [spigot_server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [spigot_server.jar:git-Spigot-c3c767f-33d5de3] at java.lang.Thread.run(Unknown Source) [?:1.8.0_65] Caused by: java.lang.ClassNotFoundException: com.maxmind.geoip2.exception.GeoIp2Exception at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_65] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_65] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_65] ... 12 more [20:35:14] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it

Мой код и pom.xml может быть found here.

Мне просто нужно знать, как добавить зависимость, если я делаю это неправильно, я не новичок в java, но я новичок в Maven и зависимостях, поэтому, пожалуйста, будьте терпеливы со мной, любая помощь приветствуется.

P.S. Я не пытаюсь найти IP-адрес «0.0.0.0», я подтолкнул его к тому, чтобы защитить свой собственный IP-адрес.

+0

Maven загружает соответствующие библиотеки в свой репозиторий (~/.m2 по умолчанию), но вы должны убедиться, что файлы .jar библиотеки добавлены в путь к классам при запуске вашей программы. –

+0

My classpath: http://pastebin.com/7TDz1SqV С этим что-то не так? – comdude2

ответ

0

Мне удалось исправить мою собственную проблему. Это было потому, что мне нужно было запустить проект как сборку Maven.

Если у вас такая же проблема, this question помог мне.

Я использовал цель пакета, так как это то, что мне нужно.

Мне также нужно было изменить свой pom, чтобы он мог экспортировать зависимости в встроенную банку.