2017-10-09 6 views
0

Je travaille sur un projet simple, ce que je fais est de construire un fichier Jar puis d'utiliser une classe de ce pot dans mon projet, le projet qui exécute tomcat et exécutez servlet dessus. J'utilise Postman pour publier des requêtes puis exécuter le servlet, dans la servlet j'essaie de définir une nouvelle variable puis java.lang.ClassNotFoundException.java.lang.ClassNotFoundException: com.ibm.jms.xxxxxxxxxx

package coms; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import com.ibm.jms.JMSMessageProducer; 

public class TestA extends HttpServlet { 

private static final long serialVersionUID = 1L; 
private String message; 

public void init() throws ServletException { 
     // Do required initialization 
     message = "Hello World"; 
    } 
public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

      JMSMessageProducer msgProdObj = new JMSMessageProducer(); 
      msgProdObj.send(request, response); 

     } 

     public void destroy() { 
      // do nothing. 
     } 
} 

JMSMessageProducer est la classe qui a défini dans le pot

Comme vous pouvez le voir dans le classPath, la classe trouvée dans le pot ajouté, et il est importé dans le code: ![enter image description here] 1

Après avoir fait une recherche sur le web, je comprends que le Jar doit aussi être trouvé dans WEB-INF/lib, donc je l'ai ajouté comme vous pouvez le voir sur l'image ci-dessous:

enter image description here

Mais aussi cela n'a pas aidé.

J'ai également vu que le code compilé sans erreurs, il ressemble à une erreur d'exécution.

Quelque corps connaît le problème ici?

Appréciez vos efforts.

enter image description here

+0

Pouvez-vous mettre pls stacktrace pour plus d'informations – Yogi

+0

J'ai ajouté le stacktrace – bashar

Répondre

0

après une recherche approfondie, je trouve que je manque d'ajouter le pot dans la configuration tomcat lanch.

à faire que j'ouvrir la fenêtre de configuration tomcat enter image description here

cliquez sur "Ouvrir configuration de lancement"

dans l'onglet Classpath, cliquez sur "Ajouter des fichiers JAR ..." et ajoutez le JAR manquant enter image description here

après que redémarrer tomcat et ça marche maintenant