Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Avviare jar esterno

  1. #1

    Avviare jar esterno

    E' possibile senza l'ausilio del Runtime.getRuntime().exec() avviare un jar esterno alla applicazione corrente? E' vero che il metodo menzionato in precedenza funziona solo su Windows? L'operazione che vorrei eseguire funge col metodo:

    Runtime.getRuntime().exec("java -jar mioJar.jar");

    però non vorrei perdere la portabilità solo per questa operazione.. grazie per le eventuali delucidazioni

  2. #2
    Potresti anche caricarlo con un URLClassLoader, e tramite reflection chiami un metodo entry-point del tuo jar. Ovviamente devi aver strutturato il tuo jar in questo modo.

    Un esempio

    codice:
            ClassLoader cl = new URLClassLoader(new URL[] {new URL("file://./miojar.jar")});
            Class c = cl.loadClass("package.Classe");
            Object o = c.newInstance();
            c.getMethod("metodo").invoke(o);
    Oppure anche se non hai strutturato quel jar con un entry-point, puoi richiamarti tutti i metodi che ti servono tramite reflection, ma se puoi evitare evita.
    Questo presuppone che il tuo jar sia un'applicazione che può essere lanciata chiamando un suo metodo entrypoint, ma se così non fosse allora devi per forza usare Runtime.exec() che comunque resta compatibile anche con linux.
    lolide
    Java Programmer

    Informati

  3. #3
    Salve

    questo sistema può andare bene anche ne mio caso ?

    Ho un applicazione Desktop Java Se. All'interno, tramite un bottone, voglio lanciare un'altra applicazione con estensione jar, passando una serie di parametri (String[] args).

    Questo jar è un altra applicazione Desktop Java Se che deve essere lanciata in modale rispetto alla prima.

  4. #4
    e,m se si, come faccio a passre i parametri ?
    il metodo che richiamo nel jar è il classico main(String[] args)

    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 © 2025 vBulletin Solutions, Inc. All rights reserved.