[Frage] Library?

Dieses Thema im Forum "Programmierung" wurde erstellt von Sn0wBlizz4rd, 15. Mai 2013.

  1. Sn0wBlizz4rd
    Offline

    Sn0wBlizz4rd

    Registriert seit:
    26. September 2012
    Beiträge:
    424
    Minecraft:
    Sn0wBlizz4rd
    Hallo liebe Suchtis,

    ich hab' da mal ne Frage. Ich lerne gerade noch Java, und bekomme grade eine Sache nicht gebacken;
    Ich versuche die javax.mail.jar zu importieren, um Mails zu versenden. Jedoch habe ich folgendes Problem,
    dass ich beim Start des Plugins einen Error bekomme, siehe hier:
    Code (Text):
    1. 2013-05-15 12:22:23 [SEVERE] Could not load 'plugins\RegisterEmail.jar' in folder 'plugins'
    2. org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException
    3.     at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:184)
    4.     at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305)
    5.     at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230)
    6.     at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugins(CraftServer.java:239)
    7.     at org.bukkit.craftbukkit.v1_5_R3.CraftServer.<init>(CraftServer.java:217)
    8.     at net.minecraft.server.v1_5_R3.PlayerList.<init>(PlayerList.java:55)
    9.     at net.minecraft.server.v1_5_R3.DedicatedPlayerList.<init>(SourceFile:11)
    10.     at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:106)
    11.     at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:382)
    12.     at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
    13. Caused by: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException
    14.     at java.lang.Class.forName0(Native Method)
    15.     at java.lang.Class.forName(Unknown Source)
    16.     at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:173)
    17.     ... 9 more
    18. Caused by: java.lang.ClassNotFoundException: javax.mail.internet.AddressException
    19.     at java.net.URLClassLoader$1.run(Unknown Source)
    20.     at java.net.URLClassLoader$1.run(Unknown Source)
    21.     at java.security.AccessController.doPrivileged(Native Method)
    22.     at java.net.URLClassLoader.findClass(Unknown Source)
    23.     at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80)
    24.     at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53)
    25.     at java.lang.ClassLoader.loadClass(Unknown Source)
    26.     at java.lang.ClassLoader.loadClass(Unknown Source)
    27.     ... 12 more

    Das hat was mit dem Build-Path zu tun, der anscheinend falsch ist. Die Jar befindet sich im src-Ordner des
    Plugins, und ich habe sie auch schon importiert genau wie die CraftBukkit.jar. Also möchte ich gerne wissen:
    Warum bekomme ich diesen Error? Warum findet Java die javax.mail.jar nicht? Freue mich auf Antworten,

    euer Cubos.
     
    #1
  2. Baba43
    Offline

    Baba43 Ehem. Teammitglied

    Registriert seit:
    5. November 2012
    Beiträge:
    590
    Weil du die notwendigen Klassen auch exportieren musst. Der Fehler besagt, dass die Klasse XY unbekannt ist.
     
    #2
  3. games6471
    Online

    games6471

    Zur Laufzeit muss ebenfalls die Libary vorhanden sein und nicht nur während dem Kompileren.
     
    #3
  4. Sn0wBlizz4rd
    Offline

    Sn0wBlizz4rd

    Registriert seit:
    26. September 2012
    Beiträge:
    424
    Minecraft:
    Sn0wBlizz4rd
    Ok, danke dir. Ich exportiere so, ist da was falsch dran?:


    [​IMG]

    PS: Wie gesagt befindet sich die Jar IM src Ordner, weshalb sie auch mit-exportiert wird.
     
    #4
  5. Cabraca
    Online

    Cabraca

    javax.mail.internet.AddressException gehört zu JavaEE (Enterprise Edition) SDK.
    Dass die in ner normalen Java Installation nicht dabei ist sollte klar sein.
    Da hilft es auch nicht irgendwas in den Buildpath zu packen.
    Nutz am besten einfach Pakete die direkt in java mit dabei sind.
     
    #5
  6. Baba43
    Offline

    Baba43 Ehem. Teammitglied

    Registriert seit:
    5. November 2012
    Beiträge:
    590
    Also ich weiß nicht ob es die beste Lösung ist, aber ich mache es so:

    1. Im Serververzeichnis einen Ordner für Bibliotheken anlegen und die jar dort reinkopieren

      [​IMG]

    2. Eine manifest-Datei im Projekt anlegen die folgende Informationen enthält:
      Code (Text):
      1. Manifest-Version: 1.0
      2. Class-Path: ../lib/javax.mail.jar

    3. Diese manifest-Datei auf der 3. Seite beim Exportieren angeben

      [​IMG]
     
    #6
  7. Sn0wBlizz4rd
    Offline

    Sn0wBlizz4rd

    Registriert seit:
    26. September 2012
    Beiträge:
    424
    Minecraft:
    Sn0wBlizz4rd
    Daaaaanke! :D Es funktioniert jetzt, ich danke dir sooo sehr! :D
     
    #7