Não funciona com o Glassfish

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

Você tem certeza de que ele localizou o arquivo? Pode ser que ele não localizou.

Alguns servidores (não sei te falar no caso do glassfish) não liberam que as aplicações executem/gravem arquivos que se encontrem dentro dele.

Então fiz este teste mandei executar um ls pela Runtime e printava o conteudo, e os dois arquivos apareciam lá.

Estou pesquisando mas até agora não tenho certeza se é mesmo o glassfish que faz isso