Autostart JAVA Datei

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo bin ganz neu hier und bräuchte auch gleich eure Hilfe.

    Hab ne Java datei geschrieben die sofort starten soll beim boot vorgang. Hab das Internet schon durchforstet aber keine Lösung gefunden die bei mir geklappt hat.

    Vielleicht könnt ihr mir helfen.

    Der Konsolen Befehl zum starten der Java Datei lautet:

    java - jar Dateiname.jar

    der Pfad:

    root@raspberrpi:~# cd /home/pi/JAVA/Test

    Vielleicht könnt ihr mir weiterhelfen

    Mit der Anleitung funktioniert es irgendwie nicht

    http://raspberrypi.stackexchange.com/questions/1303…pberry-boots-up

  • Warum funktioniert es nicht?
    Ein eigenes Skript dafür ist schon mal keine doofe Idee, du musst nur darauf achten, dass alle Pfade vollständig gesetzt sind oder du im Skript eine PATH Variable setzt. Dann wird alles was du mit dem Boot des Rechners startest als root aus geführt (eine Zeile dadrin "rm -rf ./" kann Katastrophen auslösen ;) )
    Funktioniert denn das Start skript für sich alleine? Also tut der Aufruf "/usr/local/bin/jar-start.sh" denn das was es soll? In der Anleitung fehlt ein "chmod u+x,g+x jar-start.sh" Ebenso sollte das "myapp" welches nach init.d kopiert wird ausführbar sein. Alles solte als root auch per hand startbar sein.
    Insofern ist die Anleitung nicht falsch, aber es fehlen ein paar Kleinigkeiten.

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Danke für die schnelle Antwort.

    Nein soll keine grafische Oberfläche starten sondern einen Http-Server

    Hab gerade das Start skript getestet, funktioniert leider auch nicht .

    -bash: /usr/local/bin/jar-start.sh: Keine Berechtigung
    das kommt als Antwort aus der Konsole

    • Offizieller Beitrag

    naja, das ist doch wenigstens ne Aussage.;) Mach mal ein

    Code
    sudo chmod +x /usr/local/bin/jar-start.sh

    Wenn du möchstest das eine Datei ausführbar ist, musst du ihr auch das Ausführrecht geben.

  • danke jetz bin ich auf jeden fall einen schritt weiter aber gibt immer noch probleme:

    Das ist meine Datei jar-start.sh
    #!/bin/bash
    java -jar SWM_Fernwirk_Gateway.jar

    Das Ist der Fehler aus der Konsole wenn ich probiere die Datei direkt zu starten

    Error: Unable to access jarfile SWM_Fernwirk_Gateway.jar

    Hättet ihr noch einen Tipp ?

    Das ist meine JAVA Version

    java version "1.7.0_65"
    OpenJDK Runtime Environment (IcedTea 2.5.1) (7u65-2.5.1-2~deb7u1+rpi1)
    OpenJDK Zero VM (build 24.65-b04, mixed mode)
    root@raspberrypi:/usr/local/bin#

    Einmal editiert, zuletzt von -flo1987- (2. September 2014 um 09:39)

  • Danke habe es auch gerade selber gemerkt, ist mir fast ein bisschen peinliche.

    Läuft allles soweit auch nur würde ich eins gerne haben , es soll ja ein http server sein, aber trotzdem möchte ich mich ganz normal anmelden können. Das heißt der Http Server soll im Hintergrund laufen.

    Ein Kompliment schonmal an euch ihr seit echt klasse

  • Nein, doch kein screen... Dann packst du noch ne Instanz dazwischen die Fehler und Probleme macht.

    Wie wäre es mit der crontab und "@reboot /usr/bin/java /home/pi/JAVA/Test/SWM_Fernwirk_Gateway.jar &"

    Oder der beschreiben Weg aus deiner Anleitung... da könnten eventuell auch ein paar & und STDOUT Umleitung fehlen...

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

    Einmal editiert, zuletzt von Lunepi (2. September 2014 um 11:24)

  • BAH!! Dafür gibt es ">> logdatei 2>&1"

    screen ist ein tolles tool - ich liebe es. Aber um einen "dienst" zu starten nun wahrlich nicht das geeigente Mittel.
    Entschuldige mein hartes Urteil, aber mit screen ist das eine Bastellösung!

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

    Einmal editiert, zuletzt von Lunepi (2. September 2014 um 11:37)

  • "man crontab" ist das erste was man sich anschauen sollte. Dort findet man z.B. was -e oder die Option -l bewirkt
    "man 5 crontab" Gibt einen Auskunft was denn so alles in der crontab drin steht.
    "man cron" auch hilfreich.

    Ansonsten hatte ich ob schon geschrieben was man eintragen kann (wohlgemerkt: das muss root machen)
    Ergänzend und als Ergebnis zu der Diskussion mit dbv würde ich tatsächlich die Zeile um ">> /var/log/swm.log 2>&1 &" ergänzen, damit STDERR nach STDOut umgeleiteet wird und das ganze in eine Log Datei läuft. Ob /usr/bin/java richtig ist weiß ich nicht "which java" sagt es genau. Du könntest auch die vorher schon entwickelten Skripte nutzen - Geschmackssache in meinen Augen.

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

Jetzt mitmachen!

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