Seite 1 von 1

Java | Api Pfad festlegen

BeitragVerfasst: Mi 26. Apr 2017, 17:28
von Wooluk
Hallo liebe Community,
das hat jetzt nichts mit Bukkit/Spigot zu tun.

Ich programmiere gerade ein Programm,
dafür benutze ich eine Api die ich implementiert habe.

Aber wenn ich jetzt das Projekt exportiert habe und diese .jar Datei in einen Ordner packe(In dem die besagte Api auch ist) bekomme ich einen Fehler das die Api nicht gefunden werden konnte:
Code: Alles auswählen
  1. Caused by: java.lang.ClassNotFoundException: com.github.theholywaffle.teamspeak3.TS3Config
  2.         at java.net.URLClassLoader$1.run(Unknown Source)
  3.         at java.net.URLClassLoader$1.run(Unknown Source)
  4.         at java.security.AccessController.doPrivileged(Native Method)
  5.         at java.net.URLClassLoader.findClass(Unknown Source)
  6.         at java.lang.ClassLoader.loadClass(Unknown Source)
  7.         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  8.         at java.lang.ClassLoader.loadClass(Unknown Source)
  9.         ... 1 more


Danke für Antworten.

Re: Java | Api Pfad festlegen

BeitragVerfasst: Mi 26. Apr 2017, 19:18
von monst12
Hey,

dein Fehler bedeutet lediglich, dass die von dir aus der API verwendeten Klassen während der Laufzeit nicht zur Verfügung stehen und vermutlich erst gar nicht in der Jar-Datei sind.

Wie man das gut und vorrausschauend beheben kann kommt etwas darauf an, wie und mit was du programmierst.
Arbeitest du denn mit Maven, Gradle, Ant oder Ähnlichem?
Welche IDE nutzt du?

Als generelle Lösung:
Du musst irgendwie die Klassen von der API zur Laufzeit (geladen) zur Verfügung haben. Dabei könntest du die Klassen mit in deine Jar übernehmen (also zum Kompilier-Zeitpunkt) oder bspw. über die MANIFEST-Datei als "externe Ressourcen" mitladen. Es gibt da natürlich noch mehr Wege (Suchmaschine füttern mit beispielsweise "Java implement api in jar", o.ä.).

Wenn du die Fragen oben beantwortest, kann ich dir auch gerne einen konkreteren Lösungsansatz bieten. Ansonsten einfach mal suchen ;)

Re: Java | Api Pfad festlegen

BeitragVerfasst: Mi 26. Apr 2017, 20:04
von Wooluk
Ich benutzte Intellij zum Programmieren.

//Edit: Ich habe es jetzt für Intellij herausgefunden: Man muss bei Artifacts die Classpath auf Class.jar stellen :D