web-dev-qa-db-fra.com

Avertissement Eclipse: XXXXXXXXXXX.jar ne sera ni exporté ni publié. Des exceptions Runtime ClassNotFoundExceptions peuvent en résulter

Je reçois toujours l'erreur suivante après avoir placé les fichiers requis dans mon chemin de génération sur Eclipse. Je travaille sur une application Spring MVC Hello World. J'exécute Eclipse Helios pour Java EE:

Jan 16, 2012 1:25:42 PM org.Apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /SpringMVCTutorial threw load() exception
Java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1676)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1521)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.Java:415)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.Java:397)
    at org.Apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.Java:118)
    at org.Apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.Java:1062)
    at org.Apache.catalina.core.StandardWrapper.load(StandardWrapper.Java:1010)
    at org.Apache.catalina.core.StandardContext.loadOnStartup(StandardContext.Java:4957)
    at org.Apache.catalina.core.StandardContext$3.call(StandardContext.Java:5284)
    at org.Apache.catalina.core.StandardContext$3.call(StandardContext.Java:5279)
    at Java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at Java.util.concurrent.FutureTask.run(Unknown Source)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at Java.lang.Thread.run(Unknown Source)

J'ai essayé de cliquer avec le bouton droit sur le serveur et de cliquer sur "nettoyer". Je fais un clic droit sur l'application, cliquez sur "Build Path" le "Configure Build Path" et place les bons fichiers .jar dans la bibliothèque; cependant, il ne les reconnaît toujours pas comme des dépendances. Qu'est-ce que je rate?

J'ai essayé les conseils présentés dans: Helios Eclipse: projet Tomcat - le pot ne sera ni exporté ni publié. L'exécution ClassNotFoundExceptions peut en résulter

  1. Clic droit sur votre projet web
  2. Cliquez sur Propriétés
  3. Sélectionnez Java Dépendances du module EE
  4. Cliquez sur l'onglet Bibliothèques Web
  5. Ajoutez des pots externes (si le pot est en dehors de votre projet). Une entrée sera ajoutée sous Jar/Module, assurez-vous de cocher la case (cochée).

Le problème est que lorsque je sélectionne "Propriétés du clic", je n'ai pas la possibilité de cliquer sur Java Dépendances du module EE car il n'apparaît pas. J'ai téléchargé tout extra Java = EE outils et ne peut toujours pas le trouver.

32
Mike

D'accord. Alors je l'ai compris. . .

Pour le faire fonctionner correctement, je dois "déposer et faire glisser" les fichiers que je veux dans mon chemin de classe/dépendances dans mon WEB-INF/lib fichier.

Cela fonctionne de cette façon.

Pour une raison quelconque, quand j'essaie de le faire de la bonne façon

chemin de build -> configurer le chemin de build -> pots externes

cela ne prend tout simplement pas.

L'astuce est que je dois mettre les fichiers dans mon dossier Bibliothèques d'applications Web et la seule façon de le faire (que je peux voir :) est de "cliquer et déposer" dans mon WEB-INF/lib fichier.

De cette façon, il apparaît automatiquement dans mes bibliothèques d'applications Web.

34
Mike

Lors de l'ajout de nouveaux fichiers jar, j'ai reçu deux messages sur Problems Tab: une erreur et un avertissement. Je n'ai résolu ce problème qu'en combinant toutes les solutions précédentes avec une étape supplémentaire. Voici comment je l'ai résolu:

  1. "Déposez et faites glisser" les fichiers que je veux dans mon classpath/dependencies dans mon WEB-INF/lib fichier;
  2. Faites un clic droit sur votre projet dans Package Explorer tab et build path --> configure build path --> external jars, en ajoutant les fichiers souhaités;
  3. Eclipse redémarrée;
  4. Sélectionnez Project --> Clean…. Mon système est configuré pour se construire automatiquement, donc après cette étape, le message d'erreur a disparu, mais l'avertissement XXXXXXXXXXX.jar will not be exported or published. Runtime ClassNotFoundExceptions may result est resté;
  5. Faites un clic droit sur le message d'avertissement -> Quick Fix;
  6. Sélectionnez l'option Mark the associated raw classpath entry as a publish/export dependency. (comme la figure ci-dessous) Quick fix for warning message
21
Erick

faites un clic droit sur votre projet dans project Explorer tab et build path --> configure build path, -->external jars

ajoutez tous les pots que vous voulez.

2
Ramesh Kotha