IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Lancement d'un .jar avec paramètre -Xmx1024m sur un Mac


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2017
    Messages : 15
    Par défaut Lancement d'un .jar avec paramètre -Xmx1024m sur un Mac
    Bonjour,

    je dispose d'un logiciel Java installé sur un Mac. Lorsque je double-clique sur le fichier MonLogiciel.jar il s'exécute correctement.
    Il s'agit un fichier auto-exécutable contenant un fichier "Manifest.mf" indiquant la ClassMain à lancer.
    Sur certains vieux Mac où la machine virtuelle Java était pré-installée, j'ai un problème de mémoire à l'initialisation du logiciel (Java Heap Space).
    Je souhaiterais lancer le logiciel avec le paramètre -Xmx1024m pour augmenter la quantité de mémoire allouée à la machine Java.

    Sur un PC Windows cela fonctionne en lançant un fichier .bat contenant l'instruction suivante :
    "C:\Program Files\Java\jdk1.8.0_112\bin\java.exe" -classpath -Xmx1024m MonLogiciel.jar MaMainClass

    Comment faire sur un Mac ? Utiliser un fichier .sh ou .command ? Avec quelle syntaxe ?
    J'ai essayé différentes choses mais je n'arrive à rien, je ne connais pas le monde Mac et je dois rater quelque chose.
    Quelqu'un pourrait-il m'aider ?

    Sincères salutations.

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Ta syntaxe est incorrect.
    Ce devrait plutôt être :

    java -Xmx1024m -classpath MonLogiciel.jar MaMainClass

    La valeur du classpath est MonLogiciel.jar et doit donc se situer juste après le paramètre -classpath.

    Au passage si ton fichier jar est autoexécutable il est plus simple d'utiliser l'option -jar :

    java -Xmx1024m -jar MonLogiciel.jar


    Sinon il serait utile d'investiguer les raisons de ton problème sous Mac.
    Car il peut s'agir d'un problème "caché" sous Windows...


    a++

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2017
    Messages : 15
    Par défaut
    Bonjour et merci pour ta réponse.

    Concernant l'ordre des paramètres tu as raison, je les ai inversés par erreur en saisissant.
    Sur le Mac je vais essayer avec la syntaxe que tu préconises avec le paramètre -jar, mais puis-je saisir cette ligne de commande directement dans un fichier .command ? Lorsque j'utilise un .sh le double clic sur le fichier ne l'exécute pas mais l'ouvre. C'est le fonctionnement normal sur Mac ?
    Pour tester dois-je forcément passer par le terminal ?

    A+

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Aucune idée.
    Il faudrait plutôt se tourner vers le forum Mac...

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2017
    Messages : 15
    Par défaut
    OK je transfert sur le forum Mac.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2017
    Messages : 15
    Par défaut
    Bonjour,

    je reviens du forum Mac où l'on m'a donné la réponse pour permettre l'exécution d'un programme bash, voir ci-dessous la solution via AppleScript.

    j'ai fait l'essai avec un AppleScript, cela permet effectivement de lancer le fichier bash automatiquement dans le terminal. Mais j'ai un problème que je ne comprends pas !
    MonAppleScript sauvegardé en application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tell application "Terminal"
    activate
    do script "/Applications/MonDossier/Monbash.sh"
    end tell
    Contenu du fichier /Applications/MonDossier/Monbash.sh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/sh
    /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java -Xmx1024m -jar MonLogiciel.jar

    Lors du double clic sur le fichier application "MonAppleScript", le terminal se lance il appelle bien le bash "/Applications/MonDossier/Monbash.sh"
    mais il me retourne le message :No Java runtime present, requesting install. Avec la fenêtre : "Pour utiliser les outils en ligne de commande "java", installez un JDK".
    Or je ne veux pas installer un JDK, il faut que ça fonctionne sur les postes utilisateurs qui ne dispose que d'un JRE.
    Avez-vous une idée de la raison de ce problème ?

    Je précise que si je double clique directement sur le fichier "/Applications/MonDossier/MonLogiciel.jar" l'application s'exécute correctement sur la plupart des Macs, c'est à dire quand il n'y a pas de problème de mémoire. L'AppleScript et le Bash ne sont là que pour permettre l'ajout du paramètre -Xmx1024m.
    Je vous remercie encore pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer un .jar avec paramètre via un .bat
    Par Silen dans le forum Général Java
    Réponses: 9
    Dernier message: 25/02/2015, 09h51
  2. Difficulté de compiler java avec Editeur texte sur mon MAC
    Par cyriak dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 23/10/2013, 09h33
  3. Pas de lancement avec double-clic sur un JAR avec Mac OS 10.8.2
    Par #define dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 21/10/2012, 19h35
  4. [AppleScript] Appel d'un script avec paramètre : test sur la présence de paramètre
    Par lying dalai dans le forum AppleScript
    Réponses: 0
    Dernier message: 03/08/2012, 10h05
  5. Problèmes avec des annotations sur mon Mac
    Par fk04 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 08/09/2010, 21h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo