2011-07-06 4 views
2

Je développe une application Java sous Linux uniquement, et j'ai besoin d'y exécuter un script shell. D'après ce que j'ai lu, la seule façon d'exécuter ce script shell est de l'extraire du fichier jar et de l'exécuter. La question est? Comment puis-je extraire ce script shell lors de l'exécution?Exécution d'un script shell dans un fichier jar. Comment extraire?

Nous vous remercions à l'avance

+0

en double possible de [Comment exécuter un script shell Unix à partir du code java?] (Http://stackoverflow.com/questions/ 525212/comment-exécuter-unix-shell-script-from-java-code) –

+1

La copie suggérée ne gère pas l'extraction, mais ne peut pas annuler la requête de fermeture. –

Répondre

3

Unix ne sait pas comment exécuter des scripts dans les fichiers jar. Vous devez créer un fichier (il existe des routines pour créer des fichiers temporaires dans le runtime) avec le contenu donné, puis exécuter ce fichier - voir How to run Unix shell script from Java code? pour obtenir des instructions. Lorsque vous avez terminé, supprimez-le du système de fichiers.

3

Je trouve cette question aujourd'hui ... Je pense qu'il ya une meilleure réponse:

unzip -p JarFile FICHIER_SCRIPT | bash

devrait le faire. où JARFILE est le chemin d'accès au fichier jar et SCRIPTFILE est le chemin situé dans le fichier jar du fichier script à exécuter.

ce extraira le fichier à stdout qui est ensuite canalisé vers le shell (bash)

Questions connexes