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

avec Java Discussion :

Problème d'accès aux ressources après export de mon application


Sujet :

avec Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Coddeur de Launcher & Jeux-Vidéos
    Inscrit en
    Septembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Coddeur de Launcher & Jeux-Vidéos
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème d'accès aux ressources après export de mon application
    Bonjour,

    J'ai développé un lanceur (launcher) de jeux-vidéos que j'ai pu exporter à partir d'Eclipse et celui-ci fonctionne bien.

    Ensuite, j'ai modifié le launcher afin que celui-ci lise un fichier de configuration permettant de paramétrer les liens, l'emplacement des images...
    Sous Eclipse ça fonctionne mais ce n'est plus le cas une fois l'application exportée.

    Voilà ma classe "Start" avant la modification...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    package fr.foox.launchercreator;
     
    import java.awt.FontFormatException;
    import java.io.IOException;
     
    public class Go
    {
      public static void main(String[] args) throws FontFormatException, IOException
      {
        new Home();
      }
    }
    Et la Classe "Start" après la Modification
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    package fr.foox.launchercreator;
     
    import java.awt.FontFormatException;
    import java.io.IOException;
     
    public class Go
    {
      public static void main(String[] args) throws FontFormatException, IOException
      {
        new ConfigManager().readConfig();
        new Home();
      }
    }
    Et ma classe ConfigManager
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    package fr.foox.launchercreator;
     
    import java.io.File;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.PrintStream;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Scanner;
     
    import org.apache.commons.io.FileUtils;
    import org.newdawn.slick.Image;
    import org.newdawn.slick.SlickException;
     
    public class ConfigManager 
    {
        private static Map<String, String> config = new HashMap();
        private static Map<String, Image> imgs = new HashMap();
     
        public void readConfig()
        {
            System.out.println("Lecture du fichier config en cours...");
            InputStream is = this.getClass().getResourceAsStream("/fr/foox/launcherCreator/ressources/config.txt");
            Scanner scan = new Scanner(is);
            do{
                String line = scan.nextLine();
                if(line.contains("="))
                {
                    config.put(line.split("=")[0], line.split("=")[1]);
                }
            }
            while(scan.hasNextLine());
            scan.close();
            System.out.println("Lecture du fichier config terminé !");
            System.out.println("Lancement du Launcher...");
            System.out.println("Lancement du Launcher...");
            System.out.println("Lancement du Launcher...");
            System.out.println("Lancement du Launcher...");
            System.out.println("Lancement du Launcher...");
            System.out.println("Lancement du Launcher...");
        }
     
        public static String get(String option)
        {
            return config.get(option);
        }
     
        public static void DeleteOldInstallation() throws Exception{
            String dir = Util.getWorkingDirectory().getCanonicalPath().replace(config.get("emplacement"), config.get("123unknownwindowsdir"));
            File f = new File(dir);
            if(f.exists() && f.isDirectory())
            {
                FileUtils.deleteQuietly(f);
            }
        }
     
        public static Image select(String key){
            return imgs.get(key);
        }
     
        public static void put(String key, String img_name)
        {
            try {
                Image img = new Image("fr/foox/launchercreator/ressources/" + img_name);
                imgs.put(key, img);
                System.out.println("Image " + key + " chargée ! ("+img_name+")");
            } catch (SlickException e) {
                System.err.println("Impossible de charger l'image '"+key+"' ("+img_name+")");
            }
        }
     
        private void ObfuscateStandartLogging() 
        {
             System.setOut(new PrintStream(new OutputStream() {
                 @Override
                 public void write(int arg0) throws IOException {
                     String l = Long.toHexString(Double.doubleToLongBits(Math.random()));
                     System.err.println(l+l+l+l+l+l);
                 }
              }));
        }
    }
    Quelqu'un saurait-il m'indiquer comment faire en sorte que ça fonctionne également après export ?

    Merci d'avance pour votre aide.

  2. #2
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    le chemin "/fr/foox/launcherCreator/ressources/"
    doit être vu par le ClassLoader
    donc c'est soit:
    - un chemin à partir de la racine d'un jar
    - un chemin à partir d'un répertoire faisant partie du CLASSPATH
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  3. #3
    Candidat au Club
    Homme Profil pro
    Coddeur de Launcher & Jeux-Vidéos
    Inscrit en
    Septembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Coddeur de Launcher & Jeux-Vidéos
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Ok
    J'ai essayer de modifier quelques trucs, ca n'a pas fonctionné, je'ai donc tout recommencé, et ca fonctionne, merci

Discussions similaires

  1. Problème d'accès aux ressources dans un JAR
    Par weabow dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 15/06/2013, 18h49
  2. Problèmes de accès aux ressources dans une JSP
    Par sepltura dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 18/06/2012, 09h49
  3. Réponses: 3
    Dernier message: 25/11/2010, 15h59
  4. Problème d'acces aux ressources
    Par Paskalin dans le forum Windows XP
    Réponses: 4
    Dernier message: 10/10/2008, 19h35
  5. [TOMCAT] JSP problème d'accès aux méthodes d'une classes
    Par gunnm dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 22/05/2004, 14h02

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