Chamando JAR em uma Classe

Tenho uma classe que grava um arquivo específico para mim. Compilei um JAR com os componentes necessários e consigo rodá-la sem problemas com dois-cliques no windows. Ela requer um parâmatro e para resolver o problema, criei um "shortcut" onde coloco o parâmetro e ela roda bem.



Agora, quero chamá-la de uma outra classe Java. Após várias pesquisas no forum, vim com o código abaixo:



String [] alComando = {"C:/Program Files/java/j2re1.4.1_01/bin/java -jar",

"C:/Fly! II Workbench/sistema/gerarMetar.jar",

"C:/Fly! II Workbench/"};

try {

Runtime.getRuntime().exec(alComando);

// Runtime.getRuntime().exec(alComando).waitFor();

} catch (Exception runCommand) {System.out.println(runCommand.getMessage());}



Quando executo no Sun Studio 4, recebo a seguite mensagem:



CreateProcess: "C:/Program Files/java/j2re1.4.1_01/bin/java -jar" "C:/Fly! II Workbench/sistema/gerarMetar.jar" "C:/Fly! II Workbench/" error=2



Já utilizei as duas formas de Runtime acima, mas não consigo executar. Já tentei chamar sem o java -jar, indo direto para a parte com C:/Fly! II…, e a única diferença é que o código de erro é =193 em vez de =2.



Se puderem ajudar ficarei grato.

Finalmente eu encontrei onde o problema estava. Veja o código abaixo:



String [] alComando = {"C:/Arquivos de Programas/Java/j2re1.4.1_01/bin/java",

"-jar",

"C:/Fly! II Workbench/sistema/gerarMetar.jar",

"C:/Fly! II Workbench/"};



Eu estava passando "java -jar" na primeira ocorrência da array. Mas isto não funciona, cada componente do comando precisa estar numa ocorrência separada da array. :smiley: