Executar um JAR de dentro de um programa ja pronto

3 respostas
Thiago_MuiLoko

Galera, seguinte... Preciso entregar um projeto amanhã e o finzinho do final ta com problema :D

Ve se alguem pode me ajudar:
Tenho um jar pronto (que eu clico 2 vezes e ele funciona direitinho) que eu quero executar quando um outro programa terminar, assim um ira terminar e o outro ira começar automaticamente.

MAS NÃO ESTA FUNCIONANDO... eu coloquei a forma que conheço de executar programas de dentro do codigo e nda!

Segue o código:

import java.io.*;

public class TestRunUpdate
{
	public static void main (String args[])
	{
		try 
		{
		   	
			String ls_str;   
	  		//Bloqueia a tela
	  		Process ls_proc = Runtime.getRuntime().exec("C:\WINDOWS\system32\java -jar Manager.jar");   
	  		
	  		//Faz com que o Java reconheca o comando do Windows
	        BufferedReader ls_in = new BufferedReader(new InputStreamReader   
	                                          (ls_proc.getInputStream()));   
	        try 
	        {   
	        	while ((ls_str = ls_in.readLine()) != null) 
	        	{   
	            	System.out.println(ls_str);   
	        	}   
	        } catch (IOException e) 
	        {   
	        	System.exit(0);   
	        }   
	    } catch (IOException e1) 
	    {   
	        System.err.println(e1);   
	        System.exit(1);   
	    }   
			
	}	
}

inclusive eu ja troquei o

C:\WINDOWS\system32\java -jar Manager.jar

por

C:\WINDOWS\system32\Manager.jar

e tbm não rodou, e se eu vou no DOS e digito qualquer uma das invocaçoes o negocio funciona que eh uma beleza.

Tem como alguem me ajudar, por favor?

Agradeço antecipadamente!

3 Respostas

criador

Boa tarde brother!

Fiz uma aplicação exatamente igual a esta e usei também o
Runtime.getRuntime().exec(“C:\Teste.jar”) e funcionou.

Acredito que seja o path do seu .jar que você está passando erroneamente.

Não dá nenhuma exceção quando você tenta executar o .jar ???

criador

Na verdade, está ocorrendo uma exceção e você não está mostrando.

No primeiro catch, coloque e.printStackTrace() que você saberá o erro que está ocorrendo. Assim fica mais fácil de resolver o problema.

Thiago_MuiLoko

Então cara… eu ainda não sei “decifrar” muito bem esses erros… rsrsrs

Mas fiz o seguinte:

Coloquei os dois programas na mesma pasta e mudei a linha

Process ls_proc = Runtime.getRuntime().exec("C:\WINDOWS\system32\java -jar Manager.jar");

para

Process ls_proc = Runtime.getRuntime().exec("java -jar Manager.jar");

dae deu certo. Será que vc sabe ou alguem sabe o porque que não da certo com o primeiro caminho já que o programa esta na pasta certa.

VLW PELA AJUDA!!!

Criado 15 de setembro de 2009
Ultima resposta 16 de set. de 2009
Respostas 3
Participantes 2