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

Servlets/JSP Java Discussion :

Fichier .jar sur serveur n'est pas trouvé


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 263
    Par défaut Fichier .jar sur serveur n'est pas trouvé
    Bonjour.
    J'apprends JSP-JSTL et Tomcat.

    Dans mon IDE de Netbeans, mon petit projet de test a été créé en tant que 'web application', avec Apache Tomcat comme choix de serveur. J'en conclus que lorsque je fais s'exécuter la page de garde (index.html ou .jsp), un serveur-conteneur Tomcat-Jasper est également mis en route (s'il ne l'est pas déjà) sur mon PC même.

    Mon petit projet de test vise à télécharger une Applet.class se trouvant effectivement dans un fichier Java en bibliothèque (d'un auteur sûr dont j'ai téléchargé le fichier eid-applet-package.jar contenant le code de be.fedict.eid.applet.Applet.class).
    Code de ma page index.jsp :
    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
        <body>
            ...
            <script src="https://www.java.com/js/deployJava.js"></script>
            <script>
                var attributes = {
                    code : 'be.fedict.eid.applet.Applet.class',
                    archive : 'eid-applet-package-1.1.3.jar',
                    width : 400,
                    height : 300
                }
                var parameters = {
                    TargetPage : 'identity-result.jsp',
                    AppletService : 'applet-servcice',
                    BackgroundColor : '#ffffff'
                }
                var version = '1.1.3';
                deployJava.runApplet(attributes, parameters, version);
            </script>
        </body>
    </html>
    Ce script est un exemple donné par l'auteur du projet eID.
    Mon problème : Le conteneur Jasper semble ne pas trouver le fichier eid-applet-package-1.1.3.jar.
    Dans la page du navigateur se charge bien un rectangle (avec le timer de Java); mais si je code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                    archive : 'eid-applet-package-1.1.3.jar',
    , ce rectangle ne trouve apparemment pas l'applet. L'erreur apparaissante :
    ClassNotFoundException : be.fedict.eid.applet.Applet.class
    tandis que si je code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                    archive : 'D://DwnldApp/eid-applet-sdk-1.1.3/eid-applet-package-1.1.3.jar',
    , l'erreur qui apparaît alors est :
    IllegalArgumentException : name
    (Ce 'name' est probablement une variable de la classe 'Applet.class', révélant qu'elle serait trouvée)
    Ma question : Dans quel fichier de configuration du Tomcat-Jasper se trouverait le path servant de préfixe à eid-applet-package-1.1.3.jar ? soit comment faire pour que ce fichier .jar soit bien trouvé par le serveur-conteneur ? Car lorsque je porterai le code sur un serveur distant, il ne s'agira plus que mon script contienne encore le préfixe D://DwnldApp/eid-applet-sdk-1.1.3/.

    Merci d'avance pour votre attention et, le cas échéant, pour tenter de m'aider et pour vos réponses.

    PS: Mon livre d'apprentissage : Java Server Pages de Hans Bergsten, chez O'Reilly - 3rd edition (JSP 2.0 & JSTL 1.1)

  2. #2
    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 Chavadam Voir le message
    Mon problème : Le conteneur Jasper semble ne pas trouver le fichier eid-applet-package-1.1.3.jar.
    Tu peux nous expliquer à quel niveau jasper interviens? Il serait utile d'avoir l'ouput complet de la console java du browser quand tu affiche la page contenant l'applet.

    Citation Envoyé par Chavadam Voir le message
    Dans la page du navigateur se charge bien un rectangle (avec le timer de Java); mais si je code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                    archive : 'eid-applet-package-1.1.3.jar',
    , ce rectangle ne trouve apparemment pas l'applet. L'erreur apparaissante : tandis que si je code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                    archive : 'D://DwnldApp/eid-applet-sdk-1.1.3/eid-applet-package-1.1.3.jar',
    , l'erreur qui apparaît alors est : (Ce 'name' est probablement une variable de la classe 'Applet.class', révélant qu'elle serait trouvée)
    Même réponse: log complet de la console java, c'est très vague ce que tu nous dit.
    Citation Envoyé par Chavadam Voir le message
    [B]Ma question : Dans quel fichier de configuration du Tomcat-Jasper se trouverait le path servant de préfixe à eid-applet-package-1.1.3.jar ?
    encore une fois, je ne vois pas ce que tomcat et jasper viennent faire dans l'histoire. Pour lancer une applet il suffit d'une page web (qui peux même être sur le disque dur), d'un navigateur et du plugin java installé dans ce navigateur.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 263
    Par défaut
    Bonjour Tchize, et merci pour ta rapide réponse (une fois de plus)
    et bonjour aux autres "passants" par cette discussion.


    Dans la page du navigateur apparaît bien un rectangle; mais si je code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                    archive : 'eid-applet-package-1.1.3.jar',
    , ce rectangle ne trouve apparemment pas l'applet. L'erreur apparaissante :
    [icône] Erreur : Cliquez pour obtenir plus d'informations
    ClassNotFoundException : be.fedict.eid.applet.Applet.class
    et la console Java n'indique rien de particulier après la ligne '----------------------------------------------------' :
    Plug-in Java 10.55.2.14
    Utilisation de la version JRE 1.7.0_55-b14 Java HotSpot(TM) Client VM
    Répertoire de base de l'utilisateur = C:\Users\Chavadam
    ----------------------------------------------------
    c: effacer la fenêtre de la console
    f: finaliser les objets de la file d'attente de finalisation
    g: nettoyer la mémoire
    h: afficher ce message d'aide
    l: vider la liste des chargeurs de classes
    m: imprimer le relevé d'utilisation de la mémoire
    o: déclencher la journalisation
    q: masquer la console
    r: recharger la configuration des règles
    s: vider les propriétés système et de déploiement
    t: vider la liste des threads
    v: vider la pile des threads
    x: effacer le cache de chargeurs de classes
    0-5: fixer le niveau de trace à <n>
    ----------------------------------------------------
    tandis que si je code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                    archive : 'D://DwnldApp/eid-applet-sdk-1.1.3/eid-applet-package-1.1.3.jar',
    (slash ou back-slash ? simple ou double ?), l'erreur qui apparaît alors est :
    IllegalArgumentException : name
    et la console Java indique
    java.net.MalformedURLException: unknown protocol: d
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at sun.plugin.util.ProgressMonitorAdapter.setProgressFilter(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.setupProgress(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    après la ligne '----------------------------------------------------'.

    Ma question : Comment faire pour que ce fichier .jar soit bien trouvé par le serveur-conteneur ?,
    soit : Dans quel fichier de configuration se trouverait le path servant de préfixe à eid-applet-package-1.1.3.jar ?
    car lorsque je porterai le code sur un serveur distant, il ne s'agira plus que mon script contienne encore le préfixe D://DwnldApp/eid-applet-sdk-1.1.3/.

    Merci d'avance pour votre attention et, le cas échéant, pour tenter de m'aider et pour vos réponses..

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Hello,

    en général, en java, on ne précise pas le ".class" dans les noms de classe. donc j'essayerais plutôt de mettre "be.fedict.eid.applet.Applet" tout court, sans le .class.

    ça se comprend facilement. quand on veut charger une classe dynamiquement en java, on fait "Class.forName("com.package.MyClass")" sans précisier qu'il s'agit d'un fichier .class (c'est implicite)

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 263
    Par défaut
    Merci pour le conseil, Pill_S.
    J'ai essayé avec ma version implicite et explicite de 'archive', sans '.class', mais le résultat est le même.
    J'ai vraiment l'impression que le fichier .jar doit d'abord être repéré et que cela rate car un préfixe à 'archive' serait ajouté, qui serait fautif. Dans quel fichier de configuration vérifier cela ?

    Bien sûr, dans le répertoire 'Libraries' de mon projet, dans l'onglet 'Projects' del'IDE de NetBeans, figure bien la librairie 'eid-applet-package-1.1.3.jar' en question.

    Merci.

  6. #6
    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
    Ton deuxième message dit seulement que le protocole D:// il connait pas

    Reprenons le cas du archive : 'eid-applet-package-1.1.3.jar', parce que c'est pas clair pour moi:
    Quel est le code complet de la page web qui contient cela?
    Où se trouve cette page web (url?)
    A quelle url se trouve ton fichier eid-applet-package-1.1.3.jar ?

    Le plugin résoud toutes les url relativement à la page web. Sauf si tu met une url absolue, mais là c'est de toutes façons pas pratique.

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

Discussions similaires

  1. fichier .properties n'est pas trouvé
    Par Javix dans le forum Services Web
    Réponses: 2
    Dernier message: 12/08/2009, 11h14
  2. Réponses: 6
    Dernier message: 07/01/2009, 00h51
  3. Réponses: 0
    Dernier message: 10/05/2008, 20h42
  4. Lancement fichier.jar sur serveur
    Par JohnNC dans le forum Langage
    Réponses: 2
    Dernier message: 12/03/2008, 14h35
  5. [information] utiliser des "dessins" si le fichier image n'est pas trouvé
    Par TabrisLeFol dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 25/05/2006, 12h05

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