[Batch] Java wird nicht gefunden

  • Sonstige

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von misbe2010.

    [Batch] Java wird nicht gefunden

    Moin moin,

    ich hab da ein kleines Problem. Ich habe auf meinem PC mehrere (verschiedene) Minecraft-Server und möchte mir mit einer Batch-Datei eine "verwaltung" schreiben.
    Es geht darum:

    - jeder dieser Server hat seinen eigenen Unterordner und dort auch sein eigenes Start-Script
    - im obersten Ordner liegt mein Verwaltungsscript welches per Call jeweils das gewünschte Startscript ausführt

    Wenn ich jetzt eines dieser Startscripts per Doppelklick ausführe wird der Server ordnungsgemäß gestartet (erfolgt durch:

    Quellcode

    1. java -Xms1024M -Xmx1024M -jar craftbukkit.jar -o true
    )

    Wenn ich jetzt aber per Call dieses Script aufrufe (Befehl:

    Quellcode

    1. call "C:/users/Mischa/Desktop/Server/Server1/run.bat"
    ) erhalte ich die Meldung "Der Befehl "java" ist entweder falsch geschrieben oder konnte nicht gefunden werden."


    Meine Frage ist jetzt: Wieso kann er "java" finden wenn ich die Datei Manuell starte, aber nicht wenn ich sie per Call aus einem anderen Script heraus aufrufe?
    Und wie könnte ich das Problem beheben?

    Ich danke schonmal für eure Hilfe :)

    Grüße
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^
    Hab ich auch immer gehabt.

    Schreib einfach anstatt java den Pfad der java.exe hin.
    Falls er dann immer noch muckt den pfad der jar datei komplett.


    So gings dann bei mir ob es da noch ne bessere Lösung für gibt keine Ahnung.

    Mfg
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    @xChRoNiKx: Danke schonmal für die schnelle Antwort. Diese Möglichkeit habe ich auch schon in betracht gezogen. Jedoch habe ich dann das Problem, dass Java im Verzeichnis des "Haupt-Scripts" arbeitet. Was zur folge hat, dass der Server nicht so arbeitet wie er soll. :(
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^

    Lösung gefunden

    Ich weiß nicht wieso... aber ich habe mir das ganze Script jetzt nochmal neu geschrieben und nun funktioniert es...

    Meine Ordnerstruktur:

    Quellcode

    1. Hauptordner
    2. - starter.bat
    3. - DIR Server1
    4. - run.bat
    5. - DIR Server2
    6. - run.bat
    7. - DIR Server3
    8. - run.bat


    im starter-Script steht:

    Quellcode

    1. @echo off
    2. echo [%date% %time%] Serververwaltung gestartet >> logfile.log
    3. :beginn
    4. cls
    5. title ServerKonsole: Hauptmenü
    6. cd C:/Users/Mischa/Desktop/Server
    7. echo Bitte wähle den Server aus der gestartet werden soll!
    8. echo.
    9. echo Zur Auswahl stehen:
    10. echo.
    11. echo Server1 -^> Public Minecraft
    12. echo.
    13. echo Server2 -^> Privat Tekkit
    14. echo.
    15. echo Server3 -^> Feed The Beast
    16. echo.
    17. echo Server4 -^> Classic
    18. echo.
    19. echo (Die Eingabe 0 beendet das Programm)
    20. echo.
    21. echo.
    22. set /p server=Bitte gebe die Nummer des Servers ein (1-4):
    23. if %server%==0 (
    24. goto stop
    25. )
    26. if %server%==1 (
    27. cls
    28. echo [%date% %time%] Public Minecraft wurde gestartet >> logfile.log
    29. cd Public_Minecraft
    30. call run.bat
    31. cd ..
    32. echo [%date% %time%] Public Minecraft wurde gestopt >> logfile.log
    33. goto beginn
    34. )
    35. if %server%==2 (
    36. cls
    37. echo [%date% %time%] Privat Tekkit wurde gestartet >> logfile.log
    38. cd Privat_Tekkit
    39. call run.bat
    40. cd ..
    41. echo [%date% %time%] Privat Tekkit wurde gestopt >> logfile.log
    42. goto beginn
    43. )
    44. if %server%==3 (
    45. cls
    46. echo [%date% %time%] Feed the Beast wurde gestartet >> logfile.log
    47. cd FTB
    48. call run.bat
    49. cd ..
    50. echo [%date% %time%] Feed the Beast wurde gestopt >> logfile.log
    51. goto beginn
    52. )
    53. if %server%==4 (
    54. cls
    55. echo [%date% %time%] Classic wurde gestartet >> logfile.log
    56. cd Classic
    57. call run.bat
    58. cd ..
    59. echo [%date% %time%] Classic wurde gestopt >> logfile.log
    60. goto beginn
    61. )
    62. echo Es wurde ein ungültiges Zeichen eingegeben!
    63. pause
    64. goto beginn
    65. :stop
    66. echo [%date% %time%] Serververwaltung gestopt >> logfile.log
    67. cls


    Und in den run.bat Dateien steht:

    Quellcode

    1. @echo off
    2. title ServerKonsole: {Servername}
    3. java -Xms1024M -Xmx1024M -jar craftbukkit.jar -o true


    Solange man die starter.bat per Doppelklick öffnet funktioniert alles perfekt.
    Wenn man sie allerdings aus'm CMD heraus aufruft kommt wieder
    Der Befehl "java" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^