Executar outra aplicação a partir do java

5 respostas
bacoco

Olá estou tentando rodar uma outra aplicação a partir de um aplicativo java,porém estou tendo alguns problemas…

Quando tento

Runtime.getRuntime().exec("java -jar C:\\RCVNA\\PreventivaApp.jar");

ele funciona,porém quando tento algo como

Runtime.getRuntime().exec("java -jar C:\\Documents and Settings\\F8051921\\My Documents\\Projetos\\Preventiva\\Src\\PreventivaApp\\dist\\PreventivaApp.jar");

ou

Runtime.getRuntime().exec("java -jar %programfiles%\\RCVNA\\PreventivaApp.jar");

Ele simplesmente não abre… a opção mais ideial seria conseguir que a ultima opção funciona-se…

Alguma sugestão?

5 Respostas

bacoco

Ninguem?

rodpuc

Não tenho ctza, mas acho que vc pode estar tendo 2 problemas diferentes.
No primeiro caso, seria por conta dos espaços.
No segundo caso, por conta da variável de ambiente. Deve haver uma forma específica de se referir a variáveis de ambiente.

Rodrigo_Sasaki

O problema realmente é por causa dos espaços no primeiro caso. você tem que inserir as aspas, tente assim:Runtime.getRuntime().exec("java -jar \"C:\\Documents and Settings\\F8051921\\My Documents\\Projetos\\Preventiva\\Src\\PreventivaApp\\dist\\PreventivaApp.jar\"");

bacoco

Obrigado Rodrigo e rodpuc,desta maneira funcionou, mais gostaria de saber se não tem realmente como chamar por variavel do sistema?
Utilizar ou %programfiles% ou %SystemRoot% ficaria mais simples pois independente se o HD estiver mapeado como C: D: ou H: sempre cai no lugar certo…

Rodrigo_Sasaki

É só declarar a variável.

Mas ela também terá que ter as aspas.

Agora o que garante que a pessoa vai ter essa variável definida ?

Criado 17 de janeiro de 2013
Ultima resposta 18 de jan. de 2013
Respostas 5
Participantes 3