Se vuoi eseguire un comando del genere da Java, ci sono almeno 3 cose in generale da tenere presente.
1) Se fai eseguire gzip senza specificargli alcun path, l'eseguibile gzip deve essere o nella directory corrente o in "PATH", insomma, rintracciabile. Se dici che da terminale funziona (e presumo senza specificare il path), allora immagino sia già a posto così.
2) Se tra gli argomenti metti dei path "relativi" (es. cartella/xyz ), essi sono relativi alla directory "corrente". E quale sia DIPENDE da dove/da come si avvia la applicazione java.
3) Se il gzip fa dell'output (di logging o che altro), allora lato Java DEVI leggerlo questo output, perché altrimenti gzip può addirittura bloccarsi.
Ne aggiungo un'altra: sei su S.O. Linux?? (lo dedurrei dal fatto che hai usato / e non \ ) Sui Linux la espansione dei "wildcard" (? e * ) è fatta dalla SHELL (di norma NON dal tool invocato). Ma se lanci il comando così da Java NON stai passando per la shell. Quindi sei sicuro che gzip sia in grado di espandere i wildcard per conto suo?? (non ho idea... mai indagato a questo livello)


Rispondi quotando
