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

Java Discussion :

Lancement de programme externe


Sujet :

Java

  1. #1
    Membre à l'essai Avatar de EmotionFox
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Services à domicile

    Informations forums :
    Inscription : Mai 2017
    Messages : 10
    Points : 12
    Points
    12
    Par défaut Lancement de programme externe
    Bonjour à tous, je suis en train de développer une application qui permettrais notamment de gérer des serveurs Minecraft dédier. Qui permet en outre de modifier la configuration facilement et bien-sûr de lancer le serveur, et c'est là que le problème intervient.

    Nom : Serveur Manager.png
Affichages : 199
Taille : 59,9 Ko

    Quand je cherche à lancer le serveur depuis la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if (Desktop.isDesktopSupported())
    {
    	try
    	{
    		Desktop.getDesktop().open(jarFile);
    	} catch (IOException e1)
    	{
    		e1.printStackTrace();
    	}
    }
    else
    {
    	System.out.println("Your desktop is not supported.");
    }
    Ou depuis la commande Runtime.getRuntime().exec() directement sur le jar ou à l'aide d'un fichier .bat le serveur en question me signale qu'il faut accepter l'eula, ce qui bien évidement est déjà fait. Ma question est donc la suivante: Est-il possible de lancer un fichier jar ou .bat depuis l'une ou l'autre commande en administrateur et si oui, ça réglerait-il le problème ? Si non, est-il possible d'accepter de manière automatique l'eula de minecraft? Merci d'avance à quiconque détiendrais la solution, cordialement.

  2. #2
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 040
    Points
    2 040
    Par défaut
    Bonjour,

    Je n'ai pas la réponse mais elle m'intéressera sûrement.

    Dans le doute, désolé de poser la question bateau mais "Es-tu sûr que ton programme java appelant est appelé avec les droits d'administrateur ?".
    Pour en être absolument sûr tu peux tenter (sous windows 10):
    • de taper "cmd" dans la barre de recherche
      de faire un clic-droit sur "Invite de commande"
      puis "Lancer en tant qu'administrateur".
      Une fois dans l'invite tu peux lancer ton programme via un java -jar classique.



    J'ai pu constater que les droits admin n'était parfois pas transmis à un programme java selon la méthode de lancement.
    Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
    Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.

  3. #3
    Membre à l'essai Avatar de EmotionFox
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Services à domicile

    Informations forums :
    Inscription : Mai 2017
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Bonsoir,

    je viens de régler le problème. Il s'avère que cette méthode: Runtime.getRuntime().exec(cmdarray), réoriente le dossier exécutant de l’exécutable, je m'explique; si je souhaite que mon fichier jar sur mon bureau s’exécute à son dossier natif (le bureau) il faut aussi préciser le dossier exécutant auquel cas ce sera le dossier racine du projet qui seras utilisé. Il faut donc utiliser plutôt cette méthode Runtime.getRuntime().exec(cmdarray, envp, dir), cmdarray étant un tableau des commandes, envp un tableau des commandes d’environnements (Aucune idée pour ce paramètre, je me suis contenté de le passer en null) et dir le dossier exécutant (indispensable pour ne pas recréer le serveur au dossier racine du projet, préservant ainsi les fichiers de configuration et les mondes).

    Je suis bien conscient que ça ne doit peut-être pas répondre totalement à ta question sur l’exécution en administrateur mais là n'était en faite pas mon problème.

Discussions similaires

  1. SQL Server Manager Studio (express)
    Par hel22 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/01/2007, 11h03
  2. Réponses: 4
    Dernier message: 07/09/2006, 16h52
  3. Réponses: 6
    Dernier message: 11/07/2006, 16h09
  4. Microsoft SQL Server Management Studio Express
    Par Bba_M dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/07/2006, 11h52
  5. [SQL Server Management Express] Sauvegarde des données
    Par basnifo dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 02/06/2006, 09h49

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