raccourci pour ouvrir une appli java en .sh

roro

Membre expert
Club iGen
22 Décembre 2000
3 606
31
47
Lille
salut à tous,

au bureau, on a une appli développée en java (nécessite la version 1.5) qui s'ouvre indifféremment depuis Linux, Mac OS X ou Windows.
Pour linux et mac os x, il faut passer par le terminal pour ouvrir un fichier de type "runxxx.sh".
Sous windows, on double clique sur un fichier "appli.bat". Plus convivial !

Question : comment créer un raccourci, une icône cliquable pour ouvrir le .sh sans passer par le terminal sous Mac OS X ?

Merci pour votre aide :zen:
 
La bonne solution, pour certains réglages sous linux, comme pour mac, c'est de faire un fichier .jar avec un manifest correct, comme ils devraient toujours l'être ;) (indiquant la main class) et oh surprise tu découvriras qu'il se lance en double cliquant dessus sous MacOSX. Pour linux ce n'est pas forcément le comportement par défaut, ce qui est bien dommage, mais ça peut se configurer.

Sinon une solution, pas plus rapide: un applescript qui va lancer le script shell adequat (via do shell script et en récupérant le dossier courant du script je sais plus comment, j'ai pas de mac sous la main là). Ah tiens je crois qu'il y a DropScript qui fait ça tout seul (mais pour moi ça reste une mauvaise solution pour du java).
 
roro a dit:
au bureau, on a une appli développée en java (nécessite la version 1.5) qui s'ouvre indifféremment depuis Linux, Mac OS X ou Windows.
Pour linux et mac os x, il faut passer par le terminal pour ouvrir un fichier de type "runxxx.sh".
Sous windows, on double clique sur un fichier "appli.bat". Plus convivial !

Question : comment créer un raccourci, une icône cliquable pour ouvrir le .sh sans passer par le terminal sous Mac OS X ?
En le renommant "runxxx.command".
 
Pour rendre un fichier de commandes exécutable à partir du bureau:
- lui donner l'extension .command
- dans le terminal faire: chmod ug+x nom-du-fichier
 
C'est mieux de faire un bon .jar, mais on peut pas tout mettre dans un MANIFEST. Dites moi comment faire que le .jar s'ouvre avec le paramètre -Xms1g ? Ou comment spécifier qu'il faut charger certains .jar externe ? Ou comment dire que le .jar s'ouvre avec comme working directory le répertoire où il se trouve ?
Ça m'intéresse si vous avez des solutions à proposer.
 
molgow a dit:
Dites moi comment faire que le .jar s'ouvre avec le paramètre -Xms1g ?
il s'agit là d'un paramètre de la JVM elle-même... donc, seule solution: passer par la variable d'environnement JAVA_OPT (que sait prendre automatiquement en compte la jvm)

molgow a dit:
Ou comment spécifier qu'il faut charger certains .jar externe ?
Seule solution élégante consiste à écrire son propre class-loader (désolé)

molgow a dit:
Ou comment dire que le .jar s'ouvre avec comme working directory le répertoire où il se trouve ?
-Duser.dir="."

JarBundler permet de spécifier pas mal de ces problèmes. Sous Windows, il faut passer par un petit programme C.... c'est le prix à payer pour avoir une belle icone.
 
GrandGibus a dit:
JarBundler permet de spécifier pas mal de ces problèmes. Sous Windows, il faut passer par un petit programme C.... c'est le prix à payer pour avoir une belle icone.

Voilà, c'est bien où je voulais en venir ;)
C'est qu'il n'y a pas un bon moyen multiplateforme de distribuer une logiciel écrit en Java.
 
merci à tous pour ces précisions.

Pour info, je ne suis pas développeur mais simple utilisateur.
Donc, j'ai essayé de renommer en .command
ça ouvre le terminal... ça affiche quelques infos dans le terminal, mais rien ne se passe.
 
suite !
j'ai laissé un collègue, utilisateur de Linux, qui connaît bien les commandes Unix toucher au Mac... je ne sais pas ce qu'il a trifouillé mais en moins de 3mn via le terminal il m'a créé un fichier double-cliquable en .command, qui appelle l'appli en java se trouvant sur un de nos serveurs :) :up:
ce que je peux vous dire, c'est que je l'ai vu éditer le fichier .command pour indiquer le chemin de l'appli à ouvrir.
bref, c'est ce que je voulais, ça marche !