Общая информация
Я разрабатываю плагин для Minecraft, используя API Bukkit.Я должен использовать библиотеку Apache Commons NET.
Проблема
Я получаю ClassNotFoundException после запуска JAR.
Разрешение (RESOLVED)
Я вручную создал свой файл MANIFEST.MF (установите его для использования моего пользовательского файла при экспорте JAR) и поместил его в него:
Manifest-Version: 1.0
Class-Path: libs/commons-net-3.0.1.jar
Работал как шарм.
Что я сделал
Я создал папку в Project Explorer в своем плагине и назвал ее "libs".Я скопировал .jar для библиотеки Apache Commons в указанную папку.
Затем я щелкнул правой кнопкой мыши по своему проекту, перешел к пути сборки Java, добавил JAR, MyPlugin> libs> the.jar
После добавления все в кодировке работает нормально.Все операции импорта читаются правильно, и никаких проблем не возникает.
При экспорте проекта он заметно увеличивается, поскольку библиотека присоединяется к .jar
Однако
Я получаю этоошибка:
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/net/ftp/FTPClient
at me.geekplaya.AdventureLobbies.FileUpload.upload(FileUpload.java:14)
at me.geekplaya.AdventureLobbies.AdventureLobbies.onCommand(AdventureLobbies.java:766)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
... 12 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.net.ftp.FTPClient
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:41)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 15 more
Скриншоты
.classpath
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="lib" path="/Users/gray/Applications/Java Workspace/Server/craftbukkit.jar"/>
<classpathentry kind="lib" path="libs/commons-net-3.0.1.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>