Runtime.getRuntime().exec

2 respostas
E

O que eu preciso fazer para o Tomcat 6.0 aceitar executar o comando abaixo:?

Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL"+comando);

No eclipse este comando funciona normalmente, debuguei e tudo funcionou, mas quando passo projeto pro tomcat 6.0 que fica numa maquina com windows server 2003, não funciona.
O que pode ser?

2 Respostas

T

Deve estar executando, mas na máquina onde roda o Tomcat, não na sua máquina onde você está testando a sua aplicação Web.
Quiquiéqui você quer fazer?

E

simplesmente não faz nada!
Eu saberia se ele fez ou não, pois o comando que estou fazendo é o net use, ou seja, eu tentei das 3 formas abaixo:

1ª forma, chamando um .bat
 String comando = "c:\\ENVIO\\teste.bat"; 
		  try 
		  { Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+comando); } 
		  catch (Exception Err) 
		  { 
		  System.out.println("\nLOG(rodaBat): Erro ao Executar a bat do script. Erro: <"+ Err.getMessage() + ">\n"); 
		  
		  }
2ª forma, tentando executar o comando direto, sem utilizar o .bat
		   comando = "NET USE LPT1 \\\\192.168.205.171\\LP66 /YES"; 
		  try 
		  { Runtime.getRuntime().exec("cmd /c "+comando); } 
		  catch (Exception Err) 
		  { 
		  System.out.println("\nLOG(rodaBat): Erro ao Executar a bat do script. Erro: <"+ Err.getMessage() + ">\n"); 
		  
		  }
3ª forma, utilizando o cmd /c		  
		  try {
			Runtime.getRuntime().exec("cmd /c net use LTP1 /DELETE");
			
			Runtime.getRuntime().exec("cmd /c NET USE LPT1 \\\\192.168.205.171\\LP66 /YES");
			
			print.imprime(testData);
					
			
		} catch (IOException e) {
			System.out.println("Erro"+e.getMessage());
			e.printStackTrace();
		}

No eclipse(instalado em uma maquina com windows vista) funciona, quando passo para maquina com windows server 2003, não funciona, então, instalei o eclipse na maquina com windows server 2003 e quando mandei rodar, funcionou, mas pelo tomcat apenas não funciona, o que será o problema?

Criado 19 de março de 2009
Ultima resposta 20 de mar. de 2009
Respostas 2
Participantes 2