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

Entrée/Sortie Java Discussion :

LWJGL Applet - Lecture fichier refusé


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 12
    Par défaut LWJGL Applet - Lecture fichier refusé
    Bonsoir à tous !

    Après de nombreuses recherches sur un problème pourtant assez connu, je me tourne vers vous car jusqu'à présent je n'ai rien trouvé de concluant ...
    Je vous expose donc mon problème :
    Je suis en plein dans le développement d'un jeu sur Applet, et pour cela j'utilise les APIs LWJGL et Slick2D (j'utilise ce dernier pour ouvrir les images ainsi que les sons). Cependant, lors du chargement, mon programme plante avec le message d'erreur suivant :

    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
    This occurred while 'Initializing real applet'
    access denied ("java.io.FilePermission" ".\snd\Tir1-16b.wav" "read")
    java.security.AccessControlException: access denied ("java.io.FilePermission" ".\snd\Tir1-16b.wav" "read")
        at java.security.AccessControlContext.checkPermission(Unknown Source)
        at java.security.AccessController.checkPermission(Unknown Source)
        at java.lang.SecurityManager.checkPermission(Unknown Source)
        at java.lang.SecurityManager.checkRead(Unknown Source)
        at java.io.File.exists(Unknown Source)
        at org.newdawn.slick.util.FileSystemLocation.getResourceAsStream(FileSystemLocation.java:52)
        at org.newdawn.slick.util.ResourceLoader.getResourceAsStream(ResourceLoader.java:61)
        at myapps.Files.load(Files.java:24)
        at myapps.MyApps.init(MyApps.java:32)
        at org.lwjgl.util.applet.AppletLoader.switchApplet(AppletLoader.java:1330)
        at org.lwjgl.util.applet.AppletLoader$2.run(AppletLoader.java:909)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$200(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
    Le code qui génère ce plantage est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Files {
        public static Audio sound;
     
        public static void load() {
            try {
                sound = AudioLoader.getAudio("WAV", ResourceLoader.getResourceAsStream("/snd/Tir1-16b.wav"));
            } catch (IOException ex) {
                Logger.getLogger(Files.class.getName()).log(Level.SEVERE, null, ex);
            }
     
            System.out.println("loaded with success !");
        }
    La solution la plus récurrente que j'ai trouvé jusqu'à présent est de signer l'applet. Mais même le fait de l'avoir signé n'a pas changé grand chose ... J'ai utilisé ces commandes pour créer un certificat nécessaire à la signature d'une applet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    keytool -genkey -keyalg rsa -alias key
    keytool -export -alias key -file cert.crt
    jarsigner MyApps.jar key
    Voilà... Je vous remercie par avance pour les réponses et j'espère que vous m'éclairerez davantage sur ce problème que je trouve bien mystérieux ...

    Bonne soirée à tous !

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Par défaut
    ton .wav se trouve dans ton jar sur le serveur ou sur l'ordi client?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 12
    Par défaut
    Bonsoir ludomacho,

    mon .wav est côté serveur, mais il n'est pas dans le .jar de mon programme (d'ailleurs, que le .wav soit présent ou pas, l'erreur survient quand même. Ce qui veut dire que l'exception semble être levé avant toute lecture).

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Par défaut
    L'applet se lance sur l'ordi client et donc tente de lire un fichier sur l'ordi client et non sur le serveur.

    Et le chemin spécifié n'existe pas puisque comme tu l'as dit le fichier est sur le serveur.

    l'erreur intervient certainement quand l'applet tente de trouver le chemin qui n'existe pas. Et donc que le fichier soit présent ou pas sur le serveur ne change rien.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 12
    Par défaut
    Je vois ce que tu veux dire ... Comment remédier à ce problème ?
    Je ne sais pas si la méthode qui permet la récupération des sources prenne en compte les URL ...
    La méthode que j'utilise est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResourceLoader.getResourceAsStream(String ref);

  6. #6
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Par défaut
    le plus simple serait de mettre le fichier dans ton jar. Essaie cela et tiens moi au courant

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

Discussions similaires

  1. Problème de lecture fichier local depuis une applet
    Par cyspeo dans le forum Applets
    Réponses: 2
    Dernier message: 15/09/2011, 14h27
  2. Lecture fichier texte dans applet
    Par julien1451 dans le forum Applets
    Réponses: 3
    Dernier message: 15/08/2009, 14h52
  3. [LG]probleme lecture fichier
    Par yp036871 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2004, 19h22
  4. [LG]Probleme lecture fichier file of ....
    Par John_win dans le forum Langage
    Réponses: 11
    Dernier message: 11/11/2003, 18h53
  5. [langage] prob lecture fichier .txt
    Par martijan dans le forum Langage
    Réponses: 3
    Dernier message: 16/07/2003, 11h08

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