Java Datei ausführen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Moin,

    ist es möglich ein Java Programm ,in dem ich auf die GPIO Schnittstelle zugreife, auszuführen ohne vorher daraus eine jar Datei zu machen? Da ja die GPIO Schnittstelle sudo Rechte braucht kann ich es ja nicht einfach nur kompilieren. Wie ich eine Jar Datei Ausführe weiß ich schon. Ich wäre für die Entwicklung eines größeren Programms ja einfacher sein, dieses nicht zu einer jar Datei exportieren zu müssen.

    Vielen Dank schon mal im vorraus

  • ist es möglich ein Java Programm ,in dem ich auf die GPIO Schnittstelle zugreife, auszuführen ohne vorher daraus eine jar Datei zu machen?

    Eine JAR-Datei fässt Klassen, Bibliotheken, Quellcode usw. als eine Archivdatei zusammen, das hat erstmal gar nichts mit der Ausführung von Java-Programmen per se zu tun. Wenn du ein Java-Programm erstellst und anschließend ausführen möchtest, musst du dieses immer vorher kompilieren. Egal, ob sie in einem .jar-Archiv zusammengefasst sind, oder als Bibliotheken von irgendwoher in ein Programm importiert werden.

    “Don’t comment bad code - rewrite it.”

    Brian Kernighan

  • Dementsprechend gibt es als mögliche Lösung "Kompilieren & Ausführen" in einem Schritt.

    Hast du denn so viele Änderungen im Programm, dass du immer wieder dran musst? Ggf. kann man das Problem dann anders lösen, bspw. dass benötigte Daten/Einstellungen in Dateien ausgelagert werden.

    Ansonsten verstehe ich das Rechte-Problem nicht wirklich. Du möchtest im Endeffekt mit deinem Programm auf die GPIOs zugreifen und das klappt nicht oder läuft da noch irgendwie ein GPIO Prozess mit dem das Programm kommuniziert?!

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Ja, es ging auch mehr darum das ich es nicht hinbekomme die class Datei auszuführen, wenn ich die GPIO implementiert habe. Ich kenne halt nur den weg das Programm als JAR zu exportieren und anschließend dann in dem Terminal

    cd (Pfad der Jar Datei)

    und dann..

    sudo java -jar <Programmname>.jar

    und ich finde den weg halt umständlich nur um zwischendurch mein Programm zu testen.

    und es gibt ja noch das mit dem classpath und das habe ich bisher nicht hinbekommen.

  • Überlese ich etwas?

    Du änderst eine Klasse innerhalb deines .jar-Archives, warum exportierst du dann jedes Mal das ganze Archiv?

    Du kannst die Klasse nach dem Ändern kompilieren:

    javac DeineKlasse.java

    Und dann dein .jar-Archiv oder deine Klassendatei mit der main-Methode wie gewohnt ausführen.

    “Don’t comment bad code - rewrite it.”

    Brian Kernighan

  • Eine JAR-Datei fässt Klassen, Bibliotheken, Quellcode usw. als eine Archivdatei zusammen, das hat erstmal gar nichts mit der Ausführung von Java-Programmen per se zu tun. Wenn du ein Java-Programm erstellst und anschließend ausführen möchtest, musst du dieses immer vorher kompilieren. Egal, ob sie in einem .jar-Archiv zusammengefasst sind, oder als Bibliotheken von irgendwoher in ein Programm importiert werden.

    Absoluter Schwachsinn eine jar Datei, welche einfach nur ein zip Archiv ist umfasst nur die in java bytecode kompilierten .class Dateien. Zur laufzeit wird dieser java bytecode von der jvm interpretiert und auf deiner CPU ausgeführt.

  • eine jar Datei, welche einfach nur ein zip Archiv ist umfasst nur die in java bytecode kompilierten .class Dateien.

    Eine Jar-Datei kann alles mögliche enthalten. Darunter auch die nicht kompilierten Source-Code-Dateien.

    “Don’t comment bad code - rewrite it.”

    Brian Kernighan

  • Eine Jar-Datei kann alles mögliche enthalten. Darunter auch die nicht kompilierten Source-Code-Dateien.

    Wenn man nich selber hand an legt dann nicht. Außerdem was sollen dir denn bitte Quellcode Dateien oder andere von dir obengenannte Dateien nutzen diese können überhaupt nicht in der virtuellen Maschine ausgeführt werden.

    Einmal editiert, zuletzt von shindu (13. März 2018 um 23:04)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!