Java-Projekt in ausführbare Datei packen

fbn

Grünschnabel
Hallo,

ich habe in Eclipse ein Java-Projekt mit mehreren Klassen, XML-Konfigurationsdateien und eingebundenen JAR-Dateien, z.B. für Oracle JDBC-Verbindung.

Das ganze läuft über Eclipse ohne Probleme, da Eclipse sich ja um Classpath usw. kümmert. Das Projekt sollte aber jede Nacht automatisch per Cronjob gestartet werden, d.h. Eclipse hilft hier nicht mehr.

Meine Frage ist jetzt, wie ich das Java-Projekt in eine ausführbare Datei packen kann?

Ich stelle mir das so vor, dass alle benötigten Libraries (also z.B. der Oracle-Treiber) und die eigenen Klassen in ein JAR-File gepackt werden. Dieses kann dann mit java -jar file.jar aufgerufen werden und startet die main Methode. Die XML-Konfigurationsdateien sollten wenn möglich ausserhalb des JAR-Files liegen.

Ist sowas überhaupt möglich und wenn ja, wie?

Besten Dank,
Frank
 
Alles in eine Datei? Da drängen sich m ir aber ein paar 'Fragen auf:

1.) Darfst du das überhaupt (rechtlich)?
2.) Schon mal irgend ein "größeres" Programm gesehen, dass aus einer riesigen Binary (z. B. .exe) und sonst keinen Dateien besteht? Falls nein, überleg mal warum
3.) Wie bewerkstelligst du Updates? Willst du da wikrlich die ganzen X-MB neu verteilen, oder ist es nicht evtl. doch schöner, wenn nur eine KB-große Datei ausgetauscht werden soll

Trifft jetzt evtl. nicht alles auf deinen speziellen Fall zu, aber mal so generell ...
 
Alles in eine Datei? Da drängen sich m ir aber ein paar 'Fragen auf:

1.) Darfst du das überhaupt (rechtlich)?
2.) Schon mal irgend ein "größeres" Programm gesehen, dass aus einer riesigen Binary (z. B. .exe) und sonst keinen Dateien besteht? Falls nein, überleg mal warum
3.) Wie bewerkstelligst du Updates? Willst du da wikrlich die ganzen X-MB neu verteilen, oder ist es nicht evtl. doch schöner, wenn nur eine KB-große Datei ausgetauscht werden soll

Trifft jetzt evtl. nicht alles auf deinen speziellen Fall zu, aber mal so generell ...

1. Ja, darf ich.
2. Das JAR-File wird nicht sehr gross, so riesig ist das Projekt nicht.
3. Das JAR-File neu erstellen und an das Ziel kopieren. Genau das ist ja der Grund, warum ich ein JAR-File brauche, und keine 25 Classpath-Eintraege, Libraries usw. Der Admin, der den Cronjob betreut, ist froh um jede Datei weniger.
 
Zurück