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
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.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);
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.