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 :

[JAR]Probleme pour inclure un jar dans une appli Web


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 97
    Points
    97
    Par défaut [JAR]Probleme pour inclure un jar dans une appli Web
    Bonjour
    j'essaie de deployer une application Web dans NetBeans.
    Cette application est constituee d'une page web index.jsp et d'une Servlet
    IndexServlet.java.
    La jsp doit lorsqu'on clique sur un bouton faire appel a la Servlet.
    Tout se passe bien et j'arrive meme a appeler ma Servlet et a afficher un message dans le navigateur.

    La ou il ya un hic, je ne peux pas utiliser des bibliotheques exterieures.
    Il me met cette erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    java.lang.NoClassDefFoundError: odel/beans/utils/ServiceLocator
    	odel.packagemanager.servlets.IndexServlet.processRequest(IndexServlet.java:36)
    	odel.packagemanager.servlets.IndexServlet.doPost(IndexServlet.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    Le package est bien insere et aucune erreur n'est presentee dans l'ide Netbeeans.

    Quelqu'un pourrait me donner un coup de main




    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Il faut voir une difference entre aucune erreur de compilation au sein de ton IDE (ici netbean) et déclaration de tes lib au sein de ta web app (ou de ton serveur d'app).

    As tu bien mis ta librairie en question dans le repertoire lib du WEB-INF?

  3. #3
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 97
    Points
    97
    Par défaut
    J'ai fait add Folder dans Netbeans.
    Je pensais que lorsqu'on fait run project il gère tout ca en interne?
    J'ai vérifié c'est bien la dans WEB-INF\lib

  4. #4
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Alors il reste une autre possibilité: les dépendances JAR (je ne sais pas ou ca se configure dans Netbean). Toujours est-il que cela doit etre ajouté a un fichier MANIFEST.MF qui se trouve dans le rep Meta-inf
    tu rajoutes le nom de ta lib.

    Cela est utiliser lors de la livraison de fichier de type EAR.

  5. #5
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 97
    Points
    97
    Par défaut
    Bonjour

    mon probleme je l'ai résolu (en fait je pense que je l'ai contourne). j'ai mis mes jar directement dans le repertoire common\lib de Tomcat, ce qui n'est pas correct je pense, mais c'est ce que je vais faire en attendant de trouver une autre solution.

    En fait j'ai autre probleme qui est survenu apres avoir résolut celui la.
    lorsque je clique sur le bouton ok de ma jsp, il me met l'erreur suivante lorsque j'arrive sur la methode create de mon ejb session:
    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
     
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    	java.net.MalformedURLException: no protocol: Files/netbeans-5.0beta/enterprise2/jakarta-tomcat-5.5.7/common/classes/
    	sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325)
    	org.objectweb.carol.rmi.jrmp.server.JUnicastServerRef.runDispatch(JUnicastServerRef.java:160)
    	org.objectweb.carol.rmi.jrmp.server.JUnicastServerRef.dispatch(JUnicastServerRef.java:145)
    	sun.rmi.transport.Transport$1.run(Transport.java:153)
    	java.security.AccessController.doPrivileged(Native Method)
    	sun.rmi.transport.Transport.serviceCall(Transport.java:149)
    	sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
    	sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
    	java.lang.Thread.run(Thread.java:595)
    	sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
    	org.objectweb.carol.rmi.jrmp.server.JRemoteCall.executeCall(JRemoteCall.java:89)
    	org.objectweb.carol.rmi.jrmp.server.JUnicastRef.invoke(JUnicastRef.java:161)
    	odel.beans.locuteursession.JOnASLocuteurSessionBeanEJB_210988659Home_Stub.create(Unknown Source)
    	odel.web.servlets.IndexServlet.processRequest(IndexServlet.java:48)
    	odel.web.servlets.IndexServlet.doPost(IndexServlet.java:91)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    Il faut dire que ces jar sont des ejb que j'ai empaquete qui fonctionne sur le serveur jonas. On les a meme utilise pour développer une application swing client lourd
    Quant c'est un projet simple ok pas de probleme.
    C'est quant c'est un projet web, alors bonjour les dégats

    Merci encore pour ton aide.
    Je pense que je vais en parallele me document sur les fichiers manifest et lleur importance.

  6. #6
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Je ne sais pas si Tomcat gère les EJB, mais il me semble que non.

    Tu devrais plutot cloturer ton sujet et en remonter un autre.

    Pour faire de l'EJB utilises plutot JBoss.

  7. #7
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 97
    Points
    97
    Par défaut
    Je pense avoir trouve le probleme.
    Regarde cet article
    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
     
    En utilisant du RMI sous Tomcat, il est possible de rencontrer l'exception suivante :
     
    RemoteException : RemoteException occurred in server thread; nested exception is: 
    	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    	java.net.MalformedURLException: no protocol: Files/eclipse-3.0.1/workspace/MyProject/WEB-INF/classes/
     
    Ou bien :
     
    RemoteException : RemoteException occurred in server thread; nested exception is: 
    	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    	java.net.MalformedURLException: no protocol: Files/Apache
     
    Ces erreurs "ne sont" que des des problèmes de classpath. ;-)
     
    Cette erreur peut être rencontrée lorsque le chemin où se trouve les classes utilisées pour la communication RMI contient des espaces. Ce cas est assez courant dans un environnement sous MS Windows avec Tomcat ou Eclipse, puisque par défaut ils sont installés dans le répertoire C:\Program Files\ .
     
    Une première solution consiste à installer Tomcat dans un répertoire ne contenant pas d'espace[1].
     
    La seconde solution, consiste à positionner un paramètre sur le serveur RMI (beaucoup plus propre tout de même). Pour cela, il suffit d'ajouter cette option à la JVM : -Djava.rmi.server.useCodebaseOnly=true
     
    Ce disfonctionnement est connu est référencé :

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

Discussions similaires

  1. [AC-2007] Probleme pour Concaténer plusieurs enregistrements dans une seule colonne
    Par severik dans le forum Requêtes et SQL.
    Réponses: 23
    Dernier message: 08/11/2017, 15h15
  2. [Python 2.X] Probleme pour afficher un graph dans une popUp
    Par Phoke dans le forum Tkinter
    Réponses: 4
    Dernier message: 08/08/2014, 12h18
  3. Réponses: 11
    Dernier message: 24/02/2010, 15h07
  4. Architecture pour insérer du GWT dans une appli web en JSP
    Par nicorama dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 10/06/2008, 19h05
  5. Réponses: 3
    Dernier message: 12/06/2007, 18h10

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