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.
Chamando JAR em uma Classe
J
1 Resposta
J
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. 
Criado 11 de abril de 2003
Ultima resposta 11 de abr. de 2003
Respostas 1
Participantes 1
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo