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

  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.

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Je crois que ça reste un problème spécifique à mac os x. Il faut que tu trouve où la jre est installée. Visiblement le chemin que utilise ne contient qu'un stub pour installer le jdk. Le plus simple serait de lancer une fois le le jar en double click, puis d'utiliser la commande ps dans un terminal pour trouver quel process à servis à lancer le jar.

    D'après cette page https://docs.oracle.com/javase/8/doc....html#A1097025 , le chemin est /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java

  8. #8
    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 votre réponse.

    En effet le chemin correct où se trouve le JRE est bien :
    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java

    En utilisant ce chemin le lancement du script entraîne le lancement du bash qui lance bien l'application, à condition de ne pas mettre le paramètre -Xmx1024m !!

    Si j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/sh
    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar /Applications/MonDossier/MonLogiciel.jar
    Ça fonctionne.

    Si j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/sh
    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -Xmx1024m -jar /Applications/MonDossier/MonLogiciel.jar
    J'obtiens le message
    Impossible de trouver ou charger la classe principale -Xmx1024m

    Si j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/sh
    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar -Xmx1024m /Applications/MonDossier/MonLogiciel.jar
    J'obtiens le message : Unable to acces jarfile -Xmx1024m


    Si j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/sh
    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar /Applications/MonDossier/MonLogiciel.jar -Xmx1024m
    L'application se lance bien, mais le paramètre -Xmx1024m est-il bien pris en compte ? Je pensais que le paramètre devait être placé devant le programme ? Je vais essayer de tester sur un Mac qui a un problème de mémoire.

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Le chemin /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin est celui du plug-in pour navigateur et son paramétrage se fait par /Applications/Utilitaires/Java etc. Le paramétrage est global, pas par application. C'est probablement pour ça que -Xmx n'est pas reconnu.

    Essaye plutôt par /Library/Java/JavaVirtualMachines/
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    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
    Merci pour votre réponse mais le dossier /Library/Java/JavaVirtualMachines/ existe bien sur mon Mac mais il est vide (même en affichant les fichiers cachés).
    Vous parlez de paramétrage global : est-il possible de paramétrer globalement la JVM sur le Mac pour augmenter la quantité de mémoire qui lui est allouée ? Comment faire ? Car cette solution m'irait tout à fait.
    Autre possibilité : est-il possible d'ajouter le paramètre -Xmx1024m dans le fichier "manifest.mf" qui est associé au .jar ? Je n'ai rien trouvé sur internet à ce sujet.

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Thierry7894 Voir le message
    Merci pour votre réponse mais le dossier /Library/Java/JavaVirtualMachines/ existe bien sur mon Mac mais il est vide (même en affichant les fichiers cachés).
    J'avais un doute mais ça confirme que s'il n'y a pas de JDK sur Mac, il n'y a que le plugin pour navigateur.

    Citation Envoyé par Thierry7894 Voir le message
    Vous parlez de paramétrage global : est-il possible de paramétrer globalement la JVM sur le Mac pour augmenter la quantité de mémoire qui lui est allouée ? Comment faire ? Car cette solution m'irait tout à fait.
    Tu vas dans le dossier /Applications/Utilitaires/Java, et la tu verras une icône "préférences" ou quelque chose comme ça, double-clic, onglet général, et il y a une zone pour les arguments vm.


    Citation Envoyé par Thierry7894 Voir le message
    Autre possibilité : est-il possible d'ajouter le paramètre -Xmx1024m dans le fichier "manifest.mf" qui est associé au .jar ?
    Non, pas en standard. Il est possible que des programmes comme launch4j ou inno setup gère ça de cette manière, ou d'une autre.

    D'ailleurs, tu peux essayer aussi cette combine (testée sur mon Windows 10, avec l'emplacement de java.exe dans le path, et un runnable jar généré sous Eclipse Oxygen, et qui fonctionne, mais après c'est de la combine, il est possible qu'il y ait des ajustements à faire et que ça ne fonctionne pas sur tous les environnements (des tests par exemple pour ne faire le truc que sur macosx)) :

    Tu ajoutes cette classe dans ton programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    public class Launcher {
     
    	public static void main(String[] args) throws IOException {
     
    		relaunch(args);
    		args = Arrays.copyOfRange(args, 1, args.length);
    		run(args);
     
    	} 
     
    	private static final String VMARGS = "-jarvmargs";
    	private static void relaunch(String[] args) throws IOException {
     
    		if ( args.length==0 || !VMARGS.equals(args[0]) ) {
    			Path location = Paths.get(getLocation().substring(1));
    			String pname = location.getFileName().toString();
    			//String pdir = location.getParent().toString();
    			String[] vmargs;
    			try(BufferedReader reader = new BufferedReader(new InputStreamReader(Launcher.class.getResourceAsStream("/vmargs")))) {
    				vmargs = reader.lines().map(String::trim).toArray(String[]::new);
    			}
    			List<String> command = Arrays.asList(
    					Stream.of("java"),
    					Stream.of(vmargs),
    					Stream.of("-jar"),
    					Stream.of(pname),
    					Stream.of(VMARGS),
    					Stream.of(args)).stream()
    					.flatMap(x->x)
    					.collect(Collectors.toList());	
    			//System.out.println("Lancement de la commande : " + String.join(" ",command));
    		    new ProcessBuilder(command).directory(new File(System.getProperty("user.dir"))).inheritIO().start();
    		    System.exit(0);
    		}
     
    	}
     
    	private static String getLocation() throws UnsupportedEncodingException {
    		return URLDecoder.decode(Launcher.class.getProtectionDomain().getCodeSource().getLocation().getPath(), "UTF-8");
    	}
     
    	/**
             * Remplace la méthode main().
             * @param args
             */
    	public static void run(String[] args) {
     
    		// ici mettre le code de ta méthode main ou son appel, comme ça :
     
    		MaMainClass.main(args);
     
    	} 
     
    }
    à la racine de tes packages, tu mets un fichier appelé vmargs dans lequel tu mets les paramètres de vm que tu veux (un par ligne). Comme ça par exemple :
    -Xmx512M
    -Xms256M
    
    (Il faudra qu'il soit bien sûr intégré dans ton jar exécutable). Tu modifies ton jar exécutable pour que la main class ne soit plus la tienne mais celle ci-dessus.

    PS: si tu veux tester avec un programme à part pour vérifier que le xmx est bien pris en compte, tu peux utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public class Test {
     
    	public static void main(String[] args) {
    		JOptionPane.showMessageDialog(null, 
    		String.join("\n",
    				String.format("Paramètres : %s", Arrays.toString(args)),
    				String.format("%s %s",format(Runtime.getRuntime().freeMemory()), "libre"), 
    				String.format("%s %s",format(Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory()), "occupé"), 
    				String.format("%s %s",format(Runtime.getRuntime().totalMemory()), "réservé"),
    				String.format("%s %s",format(Runtime.getRuntime().maxMemory()), "maximum"))
    		);
    	} 
     
    	private static String format(long size) {
    		int u = 0; 
    	    for (;size > 1024*1024; size>>= 10) {
    	        u++;
    	    }
    	    if (size > 1024)
    	        u++;
    	    return new DecimalFormat("#.#"+String.format("%s%c%sB", u==0?"":" ", " KMGTPE".charAt(u), u==0?"":"i")).format(size/1024f);
    	} 
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
    		if ( args.length==0 || !VMARGS.equals(args[0]) ) {
    			Path location = Paths.get(getLocation().substring(1));
    			String pname = location.getFileName().toString();
    			//String pdir = location.getParent().toString();
    			String[] vmargs;
    			try(BufferedReader reader = new BufferedReader(new InputStreamReader(Launcher.class.getResourceAsStream("/vmargs")))) {
    				vmargs = reader.lines().map(String::trim).toArray(String[]::new);
    			}
    			List<String> command = Arrays.asList(
    					Stream.of("java"),
    					Stream.of(vmargs),
    					Stream.of("-jar"),
    					Stream.of(pname),
    					Stream.of(VMARGS),
    					Stream.of(args)).stream()
    					.flatMap(x->x)
    					.collect(Collectors.toList());	
    			//System.out.println("Lancement de la commande : " + String.join(" ",command));
    		    new ProcessBuilder(command).directory(new File(System.getProperty("user.dir"))).inheritIO().start();
    		    System.exit(0);
    		}
    Si il n'est pas capable de lancer java depuis un bash avec des paramètres, il n'y a aucune raison de penser qu'il serait capable de le faire depuis java. Sinon il suffirait de convertir le processbuilder en script bash

  13. #13
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Si il n'est pas capable de lancer java depuis un bash avec des paramètres, il n'y a aucune raison de penser qu'il serait capable de le faire depuis java. Sinon il suffirait de convertir le processbuilder en script bash
    Je me doute bien que sous shell, on va avoir le même comportement, mais je voudrais savoir si par double-clic sur le .jar sous Mac, on a le même comportement ou pas (on ne sait pas ce qui fait que le mac exécute un .jar par double-clic, en tout cas pas moi). Tout ce code Java n'a aucun intérêt sous shell, puisqu'il suffit de taper la commande directement.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #14
    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
    Je vous remercie tous pour vos explications, je suis en déplacement actuellement.
    Je vous tiens au courant de ce sujet dès que possible.

  15. #15
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Je me doute bien que sous shell, on va avoir le même comportement, mais je voudrais savoir si par double-clic sur le .jar sous Mac, on a le même comportement ou pas (on ne sait pas ce qui fait que le mac exécute un .jar par double-clic, en tout cas pas moi). Tout ce code Java n'a aucun intérêt sous shell, puisqu'il suffit de taper la commande directement.
    Ha si c'est le but, savoir comment ça a été lancé, un simple ps dans la console une fois l'application en route le dira. Mais mon petit doit me dit que c'est le process java plugin, qui n'accepte aucun paramètre :/ Mac a toujours été une crasse pour java.

  16. #16
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    la réponse est peut-être comme sur tous les environnement de packager l'application

    http://docs.oracle.com/javase/7/docs...ppsForMac.html
    https://docs.oracle.com/javase/8/doc...packaging.html

    ou d'utliser un wrapper comme http://launch4j.sourceforge.net/

    je n'ai pas compris la question sur le fichier .commad qui ne s'ouvre pas
    un fichier command est un fichier qui exécute une commande lorsqu'on clique dessus
    je ne comprends pas ce que signifie qui ne s'ouvre pas.

    il suffit de le glisser dans un éditeur pour le lire et le modifier

    A+JYT

  17. #17
    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,

    il semble que sur les anciens Mac où Java était pré-installé par Apple, l'utilisateur n'a pas accès à la console Java et ne peux ajouter de paramètres au lancement.
    Je vous remercie tous pour votre aide et clos la discussion.

+ 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