Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    143

    [Java]eseguire codice come un'applicazione

    Salve,
    più per curiosità che per necessità ho provato a lanciare un'applicazione da un Main scritto in Java, usando Process e ProcessBuilder.
    Il mio dubbio ora è questo: se volessi lanciare un altro Main di un'altro programmino scritto in Java, come faccio? Cioè, io per esempio faccio un Project con Eclipse, e ad un certo punto mentre lo faccio eseguire, mi lancia un altro Main di un altro Project, per esempio per vedere se fa e cosa fa, niente di più; come faccio? Pensandoci un pò ho già intuito che molte cose cambiano rispetto a quello che sono riuscito a fare con Process perchè ho solo i .java e i .class, quindi non ho il .exe L'unica cosa che sono riuscito a fare è:

    (".../../javac", "../../Main.java")

    che ha creato il .class, ma vorrei vedere l'output sulla console se possibile.
    Non so se ho reso l'idea
    Grazie

  2. #2
    Presupponendo che tu abbia il tuo file java con il codice i passaggi da fare sono due (di cui il primo sai già che fare):

    Primo passaggio:

    codice:
    javac nomeFile.java
    In questo modo ottieni il file .class relativo al tuo file java

    Secondo passaggio:

    codice:
    java nomeFile
    Notare che qui non devi indicare l'estensione perchè ti stai riferendo al file class che deve essere eseguito e non compilato come nel passaggio precendente.

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    143
    Ciao, forse non sono stato molto capace a rendere l'idea del mio dubbio, come mi consigli tu non mi torna
    Dunque provo a fare un esempio più dettagliato:

    Mettiamo conto che sto scrivendo con Eclipse una classe Main.java, semplicissima, in cui ad un certo punto del codice faccio:

    <quote>
    ProcessBuilder pb = new ProcessBuilder("C:/../../jdk1.5.0/bin/java","D:../../bin/Mainer");
    Process p = (Process)pb.start();
    </quote>


    Dunque, in pratica della classe Mainer ho già il .class, quello passato come secondo argomento. Praticamente vorrei che mentre lancio Main.java, arrivato a leggere le righe riportate sopra fosse lanciato Mainer, e vedere dalla console di Eclipse ( oppure se si deve aprire una finestra va bene uguale ) l'output di quel programma chiamato.

    In pratica io avevo fatto:
    <quote>
    ProcessBuilder pb = new ProcessBuilder ("C:/WINDOWS/../notepad.exe","D:/../Testo.txt");
    Process p = (Process)pb.start();
    </quote>

    Questo, quando faccio il "run" della classe Main.java, lancia notepad che apre quel file.
    Più o meno vorrei eseguire una cosa simile.
    Credo che il consiglio tuo matteo fosse per fare dalla finestrina dos, prima compilavo e poi lanciavo in esecuzione, se ho capito bene.
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.