Olá…
Hummm: Faces.util. … sua aplicação roda num servidor web?
Olha… nunca tentei fazer algo deste tipo, mas imagino que uma aplicação web não teria permissão de alterar arquivos, ou propriedades dos arquivos no servidor web… seria um grande furo de segurança.
Vamos ver se mais alguém já testou algo semelhante.
Tchello
E que erro ele da, nenhum?!
dahenz
O chmod ele até consegue, o problema é executar o arquivo…
dei um ls -l e o arquivo aparece com todas as permissões de acesso, inclusive com o usuário que o criou!!! NO CASO root…
mas na hora de executar… nada nem erro na tela… naaada…
O que pode ser???
G
garcia-jj
Realmente fazer um chmod 777 é algo que não é correto. Mas enfim, vamos ao que interessa, seu código.
Hmm, você está rodando uma aplicação web, pelo que noto, não é? Enfim, chmod 777 apenas o root ou o dono do arquivo pode fazer. Então com qual usuário você está tentando executar tal comando? O java executa o comando com o mesmo usuário que subiu a aplicação.
Tchello
Exatamento, alem de que não é recomendado subir o JBoss como root, justamente por conta disso.
dahenz
Eu parametrizei o chmod como 777 só para desencargo de consciência… depois eu ajusto…
Então Garcia… eu abandonei… fiz por ftp mesmo, acho que a JVM restringe qualquer comando de transferência de arquivos pela rede… pois o sh funcionava beleza para criar diretório “mkdir”, mas para fazer o “sshpass” ele passava direto… não executava… E eu tinha os dois comandos no mesmo arquivo…
Então eu parti para transferência por ftp e foi tranquilinho… não me arrependo… hehe
Vou dar uma olhada no link que me passaste!! Valew
G
garcia-jj
Eu não gosto de usar comandos no sistema operacional porque você deixa sua aplicação “nada portável”. Aqui na empresa tem funcionário que usa windows, outro linux… assim podemos rodar os aplicativos em qualquer estação.
Agora entendi que você quer apenas enviar arquivos para outra máquina. Então te indico usar o jakarta commons-net. Se não me engano ele permite fazer FTP over SSL.
Deixa depois teu feedback aqui.
Abraços
alan.ado1
Pessoal,
estou com o mesmo problema do dahenz, executo um script shell mas ele não funciona. Meu script deveria executar outros scripts, que executam uma série de processos que rodam paralelamente e por aí vai …
quando executo ele “na mão” ele funciona, quando executo no Java nada …
o mais engraçado, quando sigo os mesmos passos para executar um simples “ls” funciona …
Qual o comportamento que esse código dá em teu sistema? Imprime algo? Algum erro? Qual o sistema que você usa? O usuário na qual executa o java possui acesso a qual shell?