[Resolvido]Problema com Runtime.getRuntime Windows
10 respostas
E
edurei
Estou tentando utilizar o comando em uma classe JAVA, chamada por uma pagina JSF:
Process p = Runtime.getRuntime().exec("cmd /c calc");
OutputStream os = p.getOutputStream();
InputStream is = p.getInputStream();
Quando rodo pelo eclipse, funciona!
Quando rodo pelo tomcat, não funciona!, por que? alguem pode me ajudar?
O Tomcat está rodando o programa de calculadora na máquina onde está rodando o Tomcat, não na máquina que está rodando o browser. Se o Tomcat estiver rodando como serviço, então ele não vai conseguir executar um programa que tenha janelas.
E
edurei
Obrigado por responder, mas, os dois testes que eu fiz, foram na mesma maquina e futuramente, quando funcionar o comando, tem mesmo que rodar no server e não na maquina client, o comando vai ser este aqui:
Runtime.getRuntime().exec(“cmd /c NET USE LPT2 \\192.168.205.171\lp66 /yes”);
Sera alguma configuração no catalina.policy do tomcat?
Aguardo e Agradeço.
T
thingol
Hum… o Tomcat vai rodar como serviço? Se ele for rodar como serviço, tome um pouco de cuidado com a configuração do serviço; ele não pode ser cadastrado para rodar sob LocalSystem porque aí não terá acesso a shares de rede e outras coisas (que é o que o “net use” está fazendo).
E
edurei
Sim, vai rodar como serviço do windows, o proprio instalador fez isso! Tem como mudar esta situação?
E
edurei
Mas nesta configuração, ele conseguiria abrir a calculadora, correto?
T
thingol
LocalSystem não consegue abrir programas gráficos, a menos que você faça isto aqui:
E
edurei
Obrigado, funcionou a calculadora!!
sera que o net use precisa de algo mais?
thingol:
LocalSystem não consegue abrir programas gráficos, a menos que você faça isto aqui:
T
thingol
Precisa de um usuário de rede (de preferência cuja senha não expire). Algo como:
onde [email removido] é um usuário srvTOMCAT do domínio xyz.com.br
E
edurei
agradeço! vou testar e retorno
thingol:
Precisa de um usuário de rede (de preferência cuja senha não expire). Algo como:
onde [email removido] é um usuário srvTOMCAT do domínio xyz.com.br
E
edurei
Realmente funcionou desta forma!
obrigado pela ajuda.
edurei:
agradeço! vou testar e retorno
thingol:
Precisa de um usuário de rede (de preferência cuja senha não expire). Algo como:
onde [email removido] é um usuário srvTOMCAT do domínio xyz.com.br