none
beliebiges Java Programm aus Powershellscript ausführen RRS feed

  • Frage

  • Guten Tag

    Ich arbeite an ein kleines Script um mir die Arbeit zu erleichtern. Natürlich könnte ich einfach eclipse verwenden, aber dass wäre langweilig. Nun möchte ich im Programm also ein beliebiges Java-Programm benutzen können. Leider akzeptiert er den Befehl so

    nicht. Ich würde gerne wissen wieso und wie so etwas zum funktionieren gebracht werden kann.

    java -cp $DOCDIR $programm.Main

    DOCDir ist der Path zum Package 

    programm ist dass Package und Main sind alle start classes (es gibt kein package ohne ein Main.

    Ich hoffe es ist kein all zu schweres Problem und ich höre bald ein Lösung

    Vielen Dank im voraus!

    Dienstag, 5. Februar 2019 16:05

Antworten

  • JavaVM lässt sich wie jedes andere Programm in Powershell starten. Schau mal hier: LINK


    Blog: http://www.bytecookie.de

    Powershell Code Manager v6: Link
    (u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Dienstag, 5. Februar 2019 22:14
    Moderator
  • Ich glaube, das Problem ist, dass

    $programm.Main

    als String interpretiert werden könnte. Versuch es mal so:

    java -cp $DOCDIR "$($programm.Main)"

    Oder speicher den Inhalt von $programm.Main noch einmal in einer "einfachen" Variablen $programmMain zwischen.

    Mittwoch, 6. Februar 2019 11:01

Alle Antworten

  • Rufe ein Java-Programm mal aus einer CMD-Box auf.
    Genau so erfolgt der Aufruf in Powershell.

    Bedenke, dass $-Variablen aufgelöst werden, also $DOCDIR muss den CLASSPATH beinhalten und $Programm ist eine Obektvariable, dessen Eigenschaft "Main" den aufzurufende Main-Prozedurnamen beinhalten muss, bzw. den Namen des jar-Archives mit einer Main-Prozedur.

    Ich glaube, dass dem nicht so ist.


    Dienstag, 5. Februar 2019 16:30
  • JavaVM lässt sich wie jedes andere Programm in Powershell starten. Schau mal hier: LINK


    Blog: http://www.bytecookie.de

    Powershell Code Manager v6: Link
    (u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Dienstag, 5. Februar 2019 22:14
    Moderator
  • Ich glaube, das Problem ist, dass

    $programm.Main

    als String interpretiert werden könnte. Versuch es mal so:

    java -cp $DOCDIR "$($programm.Main)"

    Oder speicher den Inhalt von $programm.Main noch einmal in einer "einfachen" Variablen $programmMain zwischen.

    Mittwoch, 6. Februar 2019 11:01