cmd aus java starten

  1. #1
    cdfmi


    cmd aus java starten
    hi,

    ich habe folgendes Problem.

    ich möchte zum einen den Command Prompt aus java starten, oder was mir noch lieber wäre, ist das starten eines class-files.

    zurzeit versuche ich es über Runtime.getRuntime.exec()

    wenn ichfolgenden Parameter mitgebe

    Runtime.getRuntime.exec("notepad C:\\test.txt")

    oder

    Runtime.getRuntime.exec("cmd /C C:\\Windsows\\system32\\notepad")

    dann öffnet er mir notepad. auch mit anderen programmen funktioniert dies.

    wenn ich jetzt aber das hier starte

    Runtime.getRuntime.exec("cmd /C java C:\\HelloWorld")

    wird mir nichts angezeigt... kann ich irgendwie erwirken, dass er dies zeigt?

    wichtig wäre mir folgende anweisung

    Runtime.getRuntime.exec("cmd /C java -classpath C:\\stim\\Stim.Contracts\\UnitB\\FADS\\Development\\m-emu;C:\\stim\\Stim.Contracts\\UnitB\\FADS\\Development\\xletview;C:\\stim\\Stim.Contracts\\UnitB\\FADS\\Development\\nanoxml-2.2.3.jar;C:\\stim\\Stim.Contracts\\UnitB\\FADS\\Development\\javatv.jar;C:\\stim\\Stim.Contracts\\UnitB\\FADS\\Development\\SampleXLets;C:\\stim\\Stim.Contracts\\UnitB\\FADS\\Development\\mhp.jar stim.memu.RunXlet stim.SampleXLets.EmptyXlet")

    aber auch da passiert nix.

    wenn ich die beiden im cmd starte, passiert das gewünschste...

    danke
    casper

  2. #2
    Mick


    Hey casper,

    wieso startest Du die Klasse nicht direkt aus Deinem JavaProgramm? Muss der Umweg über die Konsole sein?

    Grüße,
    Mick

  3. #3
    cdfmi


    hi mick,

    nun ja.. ob der umweg sein muss weiss ich nicht genau.

    das ganze findet in eclipse statt. ich habe ein neues plugin mit einem neuen Menue. wenn ich jetzt auf einen Menupunkt klicke, dann soll das ganze gestartet werden.

    Besonders wichtig dabei ist der classpath.. denn sonst geht da garnix.

    hast du eine andere idee?

    es handelt sichja wie gesagt um ein class file..

    danke
    casper

  4. #4
    Mick


    Zitat Zitat von cdfmi
    es handelt sichja wie gesagt um ein class file..
    Das sollte es auch sein, wenn es Java ist. Das ganze kannst Du dann mit ClassFileName.main() aufrufen.
    Den classpath kannst Du ja schon beim eigentlichen Aufruf Deines Programms mitgeben.

    Grüße,
    Mick

  5. #5
    cdfmi


    ah ha.. die klasse war mir neu.. aber danke zunächst.. werde ich gleich nach dem mittag ausprobieren

    wenns nicht geht, werde ich dich noch ein wenig weiter nerven *grins*

    danke
    fürs erste und bitte bleib on... es würde mich wundern, wenn es auf anhieb funzt

    casper

  6. #6
    cdfmi


    hi,

    ich schon wieder

    wo finde ich "ClassFileName" (also in welchem Package) und wie mache ich "Den classpath kannst Du ja schon beim eigentlichen Aufruf Deines Programms mitgeben." ???

    danke im Voraus
    casper

  7. #7
    Mick


    Hey casper,

    da hab ich mich wohl etwas mißverständlich ausgedrückt.
    Mit ClassFileName habe ich Deine Klasse, die Du ausführen willst, gemeint!
    Und den classpath kannst Du unter Eclipse einstellen. (d.h., den classpath schon gleich richtig setzen, wenn Du Dein eigenes Programm startest).

    Grüße,
    Mick

  8. #8
    cdfmi


    hi,

    das kann ich ja eben nicht...

    der code

    Code:
    RunXlet xlet = new RunXlet();
    String[] strg = new String[1];
    strg[1] = "stim.SampleXlets.EmptyXlet";
    RunXlet.main(strg);
    aber so funzt das leider net

    ausgabe in der console von eclipse lautet dann

    Unhandled exception caught in event loop.
    Reason:
    stim/memu/RunXlet

    bin ratlos

  9. #9
    Mick


    1. Wiese erzeugst Du ein Objekt von RunXLet?
    2. Unhandled Exception besagt immer, dass RunXLet eine Exception werfen kann, die Du nicht fängst.

  10. #10
    cdfmi


    zu 1) wie soll ich sonst da ran kommen? ist eine andere Klasse in einem anderen Projekt... wie soll ich sonst da rankommen?

    zu2) RunXlet funktioniert, der Fehler liegt in diesem Aufruf....


    wenn ich RunXlet als Application über Eclips starte, dann funkttionert die Anwendung einwandfrei

    casper

  11. #11
    cdfmi


    zu 1) s******e du hast recht, warum erzeuge ich ein Objekt?! blödsinn... funktioniert aber trotzdem nicht

  12. #12
    Mick


    Okay, Du musst natürlich dafür sorgen, dass die Klasse (das Projekt), dass Du aufrufen willst, im classpath des Projektes ist, aus dem Du aufrufst.

    Da die main()-Methode static ist, brauchst Du nunmal keine Instanz Deiner Klasse.

    Poste doch mal den Stacktrace, wenn Du das Programm startest.

  13. #13
    cdfmi


    wo finde ich den stacktrace?

    also unter Projektverweise taucht das Projekt auf... das sollte reichen,oder?

  14. #14
    Mick


    Ich weiß jetzt net, was du mit Projektverweise meinst.

    Der Stacktrace ist das, was die Konsole ausgibt, wenn eine Exception auftritt.
    So etwa:

    NullPointerException in bla bla bla (Line ...)
    in ...
    in ...



    und so weiter.

  15. #15
    cdfmi


    hi,

    also das ist das einzige was die eclipse konsole her gibt

    Unhandled exception caught in event loop.
    Reason:
    stim/memu/RunXlet

    wenn ich folgendes im der normalen console (cmd) starte

    java.exe -classpath C:\stim\Stim.Contracts\UnitB\FADS\Development\m-emu;C:\stim\Stim.Contracts\UnitB\FADS\Development\xletview;C:\stim\Stim.Contracts\UnitB\FADS\Development\nanoxml-2.2.3.jar;C:\stim\Stim.Contracts\UnitB\FADS\Development\javatv.jar;C:\stim\Stim.Contracts\UnitB\FADS\Development\SampleXLets;C:\stim\Stim.Contracts\UnitB\FADS\Development\mhp.jar stim.memu.RunXlet stim.SampleXLets.EmptyXlet

    läuft das programm problemlos...

    das rote ist in diesem fall RunXlet.main() und EmptyXlet ist das argument, oder besser eine Class die ausgeführt wird.

    mehr stack kann ich nicht liefern... da es keinen gibt

    casper

  16. #16
    Mick


    Hmm, meiner Meinung nach liegt das wahrscheinlich am classpath.
    Versuch mal, das wirklich in den Buildpath mit einzuhacken.

    PS: Was ist das eigentlich für ein Plugin?

  17. #17
    cdfmi


    hi,

    ein plugin ist eine erweiterung für Eclipse.... z.b. ein Menu hinter dem dann diverse Guis liegen zur erstellung von xy

    was meinst mit in den buildpath einhacken?

  18. #18
    Mick


    Ich weiß, was ein Plugin für Eclipse ist. Wollte nur wissen, welches Plugin. (Ich könnte versuchen, es hier zu installieren)

    Gibt´s denn beim compilieren Fehler? Wenn nicht, ist auch der Buildpath okay.

    Sonst weiß ich auch nicht mehr weiter.

  19. #19

    wer lesen kann ist klar im vorteil...

    hab ich mich wohl etwas verlesen...

    das ist kein fertiges plugin, sondern ein selbst erstelltes... compliert wird alles ohne fehler, wenn ich dann aber am ende den menupunkt aufrufe, geht startet er das gewünschte file nicht...

    das plugin ist ein beispielplugin (Hello World) allerdings schon umgearbeitet...

    nun ja, dann werd ich mal weiter versuchen... so ein mist


Keine Antwort auf Deine Suche gefunden? Registriere Dich kostenlos und stelle Deine eigene Frage zu Java!

Jetzt kostenlos registrieren