Liefert mich ein! Sofort!

Das Leben ist hart, grausam und gemein! Und heute ist es noch ein bißchen fieser als sonst.

Ich wage mich gerade in die Tiefen von Java vor. Zwar hatte ich in der Uni etliche Kurse zur Java-Programmierung, aber man ist erst in einer Programmiersprache richtig drin, wenn man etwas größeres damit erstellen muss. Das Problem ist nur, dass man immer wieder an seine sprachlichen Grenzen stößt, viel nachschlagen muss und sich auch mit der Komplilierung & Ausführung von Java nicht wirklich auskennt. Theoretisch ist alles klar, aber das Praktische ist meist etwas komplizierter als gedacht.

Nachdem ich die letzten Tage etliche Zeilen Java-Code geschrieben hatte, wollte ich mich heute ran setzen und das Ganze von meinem lokalen Eclipse auf den Server bringen. Ich machte mir ein wenig Sorgen, ob ich die DB-Verbindung auf einer Linux-Maschine zum Laufen kriegen würde, zudem nutzte ich ein paar externe Java-Bibliotheken (jar), deren Pfade ja schließlich auch angepasst werden mussten.

  • Mein erster Ansatz einfach die Export-Funktion von Eclipse zu nutzen und das Ding in eine jar-Datei zu exportieren, funktionierte nicht. Die referenzierten Bibliotheken waren nicht bekannt.
  • Der Versuch die Angaben der .classpath-Datei im Editor auf die Serverpfade anzupassen und dann in Eclipse zu kompilieren, schlug auch fehl, da Eclipse die referenzierten Bibliotheken nicht mehr finden konnte.
  • Auch die Idee beim CL-Aufruf den classpath mit zu übergeben, brachte kein Erfolg
  • Ich landete dann auf der Seite von Thorsten Stein, der mit Apache Ant arbeitet, um eine Jar mit zusätzlichen Libraries zu bauen.
  • Mir kam das zu kompliziert vor. Ich wollte doch nur etwas umsetzen, was Millionen Java-Entwickler Tag für Tag machen: Ein Projekt kompilieren, welches zusätzliche Libraries verwendet. Das kann doch nicht so kompliziert sein!!!
  • Aber anscheinend ist es das: Ich landete schließlich bei FatJar einem Plugin für Eclipse, welches sich dafür rühmt, ein Jar erstellen zu können, welches weitere Jars enthält. Genau das, was ich wollte. Aber auch hier geschah nicht das, was ich wollte.
  • Langsam verzweifelte ich. Rufe ich vielleicht einfach nur mein Programm falsch auf? java -jar meineAnwendung.jar – Das muss doch richtig sein!
  • Die Stunden vergingen und ich machte absolut gar keine Fortschritte und offensichtlich gab es im Internet auch kaum jemanden, der ähnliche Probleme hatte. Es gab zwar viele Suchergebnisse, aber da waren die Probleme meist anders gelagert…
  • Ich entschloss mich, das Tutorial von Thorsten Stein abzuarbeiten. Toll: Ant installieren. Toll: Ant braucht JDK. Toll: JDK installieren!
  • Ich erhielt schließlich die jar mit den externen Libs und lud es auf den Server. Ich führte es aus. Wieder nichts.
  • Ich war mit meinem Latein am Ende. Seit 7 Stunden saß ich an diesem Problem und bekam es nicht gelöst.
  • Komisch, dass der Logger, den ich in meiner Anwendung verwende, eine leere Datei erzeugt. Moment! Könnte es sein, dass das Programm doch ausgeführt wird und nichts macht, weil es nichts gibt, was es machen muss?
    Ja, denn das Ergebnis dieser Abfrage ist auf dem Server leer:
    ResultSet rs = stmt.executeQuery("SELECT idprojects FROM projects WHERE download_url IS NOT NULL AND short_name IS NOT NULL AND (status != 1 OR status != 6)");
    while (rs.next()){
    Project pro = new Project(rs.getInt(1));
    pro.update();
    }

Ich hatte also den ganzen Tag damit zugebracht, einen Fehler zu finden, den es gar nicht gibt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.