Ola Sras. e Srs.
Estou com o seguinte problema, tenho um método que executa um shellscript e ele funciona normalmente quando executo ele em um projeto desktop, porém quando executo ele em um projeto web ele não funciona.
Utilizo o Glassfish3 Netbeans e ubunto 10
Metodo:
public void exibeMorfologia(){
Process p;
String stdIn = "";
String stdErr = "";
String s;
try {
p = Runtime.getRuntime().exec("sh jspell.sh");
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
while ((s = stdInput.readLine()) != null) {
stdIn = stdIn + s + "\n";
}
while ((s = stdError.readLine()) != null) {
stdErr = stdErr + s + "\n";
}
System.out.println("Saida Padrao: \n" + stdIn);
System.out.println("Saida Erro: \n" + stdErr);
}
catch (IOException ex) {
ex.printStackTrace();
}
}
ShellScrpit:
#!/bin/bash
ujspell -g < teste
exit
Resposta correta (Desktop):
[code]
run:
Saida Padrao:
International Jspell Version 1.84
- Eu 0 :lex(eu, [CAT=ppes,N=s,P=1,C=n], [], [], [])
- adoro 3 :lex(adorar, [CAT=v,T=inf,TR=t], [], [P=1,N=s,T=p], [])
- café 9 :lex(café, [CAT=nc,G=m,N=s], [], [], [])
Saida Erro:
BUILD SUCCESSFUL (total time: 1 second)[/code]
Resposta errada:
[code]
run:
[/code] e fica assim indefinidamente
Para tentar entender o problema executei o scrpit manualmente de 4 formas
1- executei o script com todos os arquivos necessários na pasta raiz do meu usuário no ubunto -> FUNCIONA
2- executei o script com todos os arquivos necessários na pasta raiz do meu projeto web -> FUNCIONA
3- executei o script com todos os arquivos necessários na pasta onde é realizado o deploy do servidor -> NÃO FUNCIONA
4- executei o script com todos os arquivos necessários na pasta raiz do meu usuário no ubunto quando utilizando o caminho absoluto e estando na pasta do deploy do projeto ->NÃO FUNCIONA
As minhas perguntas, o Glassfish protege de alguma forma a pasta referente ao servidor?
É possivel tirar está proteção?
O glassfish não é o problma?
Alguém tem a solução?
Valeu