Executar um arquivo jar executavel a partir de outro jar

// Está funcionando, mas eu precisava de uma solução independente de plataforma

// arquivo do tipo jar criado com o nome app1.jar

import javax.swing.JOptionPane;

public class App1 {

public static void main(String[] args) {
	
	JOptionPane.showMessageDialog(null, "app1");
 }  

}

// arquivo do tipo jar criado com o nome app2.jar

import java.io.File;

import javax.swing.JOptionPane;

public class App2 {

static File f = new File("app1.jar");	

public static void main(String[] args) {
	
	System.out.println(f.canExecute());
	
	JOptionPane.showMessageDialog(null, "app2");	
	
	try {            

		[b]// preciso que seja executado em qualquer sistema operacional não apenas no Windows[/b]
        Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + f.getAbsolutePath());

        System.exit(0);
    } catch (Exception e) {

        e.printStackTrace();
    }		
}

}

Runtime.getRuntime().exec(
    (File.pathSeparator.equals("\\") ? "cmd /c " : "") + 
    "java -jar " + f.getPath());

ps: quando postar código coloque entre as tags “code e /code”, senão fica horrível de ler.

galera é o seguinte, eu gostaria de executar uma jar desse jeito q vcs estão falando aki…

porém eu queria saber se é possivel eu controlar esse processo dp de executado…

por exemplo, eu queria executar um jar meu… e dp de um tempo eu queria finaliza-lo via programação…
tipow assim, eu tenho uma aplicação servidora… e eu tenho outro aplicação q inicia o servidor…
ai dp de um tempo eu queria abrir a aplicação e parar o servidor…
masss… para isso eu preciso do processo da aplicação servidor para poder finaliza-la…

Atenciosamente,

Rafael.

Galera é o Seguinte …

Desenvolvi um programa para cadastro de clientes (JAR) e um outro programa para agendamento de consultas com Data e Hora marcada (JAR) independentes. Gostaria de saber como posso fazer para chamar o programa de cadastro de clientes a partir do programa de agendamentos. Já utilizei o método Runtime.getRuntime(“java -jar AppCadClientes.jar”) e não aconteceu nada, apenas gerou uma exceção (IOException) dizendo que não encontrou o processo. Há, mais uma coisa, a intenção é que os programas sejam realmente independentes, pois o cliente pode optar por adquirir apenas o cadastro de clientes ou ambos. Obrigado mais uma vez aos “GUJonautas” de Plantão!