Impossible de "lancer sur le serveur" une webapp à partir D'Eclipse

lors de l'exécution de mon projet WebApp à partir D'Eclipse la plupart du temps, il fonctionne correctement. Mais si par erreur pour arrêter le serveur, je le tue dans la vue" Console "au lieu de" arrêter "le serveur de la vue" Serveurs". Tout en dirigeant le projet propre je reçois ce

java.lang.NullPointerException
at org.eclipse.wst.common.componentcore.internal.util.VirtualReferenceUtilities.getDefaultProjectArchiveName(VirtualReferenceUtilities.java:81)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getJavaClasspathReferences(J2EEModuleVirtualComponent.java:332)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getNonManifestRefs(J2EEModuleVirtualComponent.java:236)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:160)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:208)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:201)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.hasConsumableReferences(SingleRootUtil.java:217)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.validateSingleRoot(SingleRootUtil.java:165)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.isSingleRoot(SingleRootUtil.java:93)
at org.eclipse.jst.common.internal.modulecore.SingleRootExportParticipant.canOptimize(SingleRootExportParticipant.java:84)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.canOptimize(FlatVirtualComponent.java:136)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.cacheResources(FlatVirtualComponent.java:118)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.fetchResources(FlatVirtualComponent.java:101)
at org.eclipse.wst.web.internal.deployables.FlatComponentDeployable.members(FlatComponentDeployable.java:147)
at org.eclipse.wst.server.core.internal.ModulePublishInfo.hasDelta(ModulePublishInfo.java:418)
at org.eclipse.wst.server.core.internal.ServerPublishInfo.hasDelta(ServerPublishInfo.java:443)
at org.eclipse.wst.server.core.internal.Server.hasPublishedResourceDelta(Server.java:1539)
at org.eclipse.wst.server.core.internal.Server$ResourceChangeJob.visit(Server.java:214)
at org.eclipse.wst.server.core.internal.Server.visitModule(Server.java:2929)
at org.eclipse.wst.server.core.internal.Server.visit(Server.java:2913)
at org.eclipse.wst.server.core.internal.Server$ResourceChangeJob.run(Server.java:225)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

et en lançant je reçois ce

SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base D:workspace.metadata.pluginsorg.eclipse.wst.server.coretmp0wtpwebappsWebapp does not exist or is not a readable directory
    at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142)
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4319)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)

aidez-nous à nous en remettre.

27
demandé sur Ram 2011-07-15 11:43:17

15 réponses

j'ai eu du mal à le faire fonctionner, mais grâce à "Alexander Pogrebnyak" (voir déployer un fichier de guerre dans WTP (Eclipse) tomcat server ) j'ai pu faire fonctionner Eclipse Web Projects avec Maven à travers m2e:

avant de commencer, je dois dire que je suis un homme très suspicieux, donc je commence toujours par nettoyer tous mes projets en utilisant "Eclipse > Project > Clean..."menu (sans option" démarrer une construction immédiatement " cochée). Je n'aime pas "Eclipse > Projet > générer Automatiquement" option cochée.

soit dit en passant, je suppose que vous aurez déjà installé votre plugin m2e, ou ce que je vais énoncer n'a pas de sens...

bon, commençons:

tout d'Abord, bye bye la configuration du Serveur:

1) Si vous avez un projet, une précédente configuration du serveur, supprimer (clic droit sur le serveur et sélectionnez "Ajouter et supprimer" option)

2) Nettoyez le répertoire de travail de votre serveur (clic droit sur le serveur et sélectionnez "Tomcat Server Work Directory")

3) Nettoyer les "restes" compilés (clic droit sur le serveur et sélectionner "nettoyer")

4) supprimez la configuration de votre serveur de L'onglet" Serveurs

5) supprimez complètement votre projet/dossier" Serveurs "(indiqué dans l'onglet" Project Explorer")

6) BONUS: je supprime aussi mon environnement d'exécution du serveur ("Eclipse > Fenêtre > Préférences > Serveur > Environnements d'Exécution")

Second, " Maven clean" (si votre projet web a une "nature Maven"):

1) clic droit sur votre projet web

2) "Pop up Menu > Run As > Maven clean "

cela devrait effacer votre dossier cible

la Troisième, Instal m2e VDP de l'intégration (ouais! Il n' pas "par défaut". Une journée entière pour le comprendre):

1) Ouvrir Maven "Découverte" de l'option (Eclipse > Fenêtres > Préférences > Maven > Découverte)

2) Appuyez sur le bouton "Ouvrir Catalogue" (une fenêtre "M2E Marketplace" doit apparaître)

3) Faites défiler vers le bas jusqu'à ce que vous trouviez l'option" intégration WTP", puis" vérifiez"!

4) Cliquez Sur "Terminer"

5) un" écran de plugin comme " sera apparaître. "Suivant", "Suivant", "d'Accord", bla, bla, bla...

Quatrième, laissez Éclipse de l'exécuter à nouveau:

1) si on ne me demande pas de redémarrer Eclipse (que j'ai du mal à croire que vous ne le ferez pas), redémarrez-le vous-même!

Cinquième, maven réinsertion:

1) Ajouter Maven nature au projet (clic droit sur votre projet web, " Pop up Menu > Configurer > convertir en Maven Projet")

2) Mettez à jour votre configuration maven (oui, oui, suspect, je sais). Faites un clic droit sur votre projet web, maintenant avec un "M"sur son icône ("Pop up Menu > Maven > Update Project")

3) Exécutez un Maven install (clic droit sur votre projet web, "Pop up Menu > Run As > Maven install")

4) Construisez votre projet ("Eclipse > Project > Build All")

Sixième, mettre tous au travail:

1) déployer et exécuter votre application web (Clic droit sur votre projet web, "Pop up Menu > Run As > Run on Server")

2) il vous sera demandé de créer une autre configuration de serveur. Il va créer le Projet/Dossier" serveurs " à nouveau, mais c'est comme ça.

C'est ça!!! Je dois admettre qu'une fois que j'ai lancé le serveur, ça n'a pas marché, mais cette fois (je ne sais pas pourquoi) les bibliothèques "Log4J" n'ont pas pu être trouvées. Après un projet de "nettoyer" + "maven clean "et un" maven install " + "project build" un autre message indiquant que ma classe de Servlet n'a pas pu être trouvée. Encore une fois, j'ai exécuté un projet de "nettoyer" + "maven propre" et un "maven installer" + "projet de construction" et de "voilà"!!! Cela a fonctionné (et c'est pourquoi je suis si suspicieux).

je commençais à m'inquiéter avec ce nouveau double Juno + m2e... Je n'ai jamais eu ce genre de problème avec Indigo ou Ganymède... Mais je suppose que je peux encore faire confiance à Eclipse (puis-je?)

39
répondu Alejo Ceballos 2017-06-23 02:47:32

ne faites pas ces folles solutions cosmiques !!

Cela fonctionne très bien:

Ajouter à votre ".projet "fichier (caché) ces lignes:

 <natures>
    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.m2e.core.maven2Nature</nature>
    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
  </natures>

Profitez-en !

pourquoi? si vous cochez ce répertoire inexistant, Eh bien, que "../.metadata/blah/blah/tmp0/wtpwebapps/YOURPROJECT/" est vide: alors votre construction ne crée pas la guerre... !!! parce que maven plugin n'est pas comprendre QU'il doit !

j'ai trouvé ça après en avoir comparé deux .fichiers de projets de différents projets de déploiement / non-déploiement...

l'Espoir aidé !

7
répondu user1995400 2013-01-21 03:48:52

, j'ai supprimé le "dossier de problème" .métadonnées.plugins\org.Eclipse.wst.serveur.core\ tmp0 \ et ça marche maintenant :)

3
répondu Олег Всильдеревьев 2013-01-29 17:42:01

j'ai exactement le même problème et la même exception exacte, mais j'ai résolu le problème juste en spécifiant le type de paquet de POM à war comme "war" et clic droit sur le projet et sélectionnez 'Maven > Update Project Configuration', puis re-déployer ce module web sur tomcat server, c'est tout!

3
répondu Bob Yang 2013-11-11 03:46:56

Just do maven -> mise à Jour de la configuration du projet et nettoyer/construire à partir d'eclipse. Le projet sera chargé.

1
répondu arviarya 2012-06-29 06:03:51

j'ai souffert de ce problème, mais la cause était différente. Le problème est né de wrong server name([Project Name] != [Server Name]) . J'ai pensé que je pouvais comprendre par recréer le Serveur .

ce problème peut être résolu par les étapes suivantes:

  1. supprimer le serveur : clic droit sur [Severs] et supprimer le serveur.
  2. Supprimer serveur: clic droit sur [Project Explorer] et supprimer serveur(vous avez créé).
  3. Propre Projet : menu [Project -> Clean]
  4. créer serveur: clic droit sur [Severs] et nouveau serveur.
  5. Edit server.xml: modifier server.xml pour votre serveur web.
  6. ajouter serveur: clic droit sur [Severs] et supprimer serveur.
1
répondu Halu Kim 2013-12-10 04:36:14

j'ai été assez perplexe par le problème parce que j'ai eu une autre dépendance jar travaillant avant que le problème se soit produit. J'utilise Eclipse Luna qui avait déjà l'intégration m2e et aucune des solutions ci-dessus n'a fonctionné pour moi.

le problème a commencé en ajoutant une nouvelle dépendance jar à un projet maven war, mais il a quand même bien fonctionné quand celui-ci a été commenté dans la pom. Heureusement, j'ai pu comparer les deux projets, et finalement le problème était lié à un manque aspect du projet dans le nouveau projet jar: Module utilitaire.

  1. bouton droit sur le projet: facettes du projet
  2. Vérifier "Module d'Utilitaire" et enregistrer
  3. Supprimer l'application de tomcat et de la publier à nouveau.
1
répondu Luis Diaz 2015-05-23 07:53:52

Vérifier Tomcat doc pour le Document de base xyz n'existe pas ou n'est pas lisible répertoire:

base de Document n'existe pas ou n'est pas un répertoire lisible L'URL spécifié par la guerre paramètre doit identifier un répertoire sur ce un serveur qui contient la version" déballée " d'une application web, ou L'URL absolue d'un fichier d'archives d'application web (WAR) qui contient cette application. Corriger la valeur spécifiée par la guerre paramètre.

pouvez-vous faire manuellement" nettoyer..."et puis "Publier" (à partir du menu contextuel sur Tomcat en vue des Serveurs) après nettoyage de projet est terminé?

0
répondu padis 2011-07-15 08:24:29

j'ai cessé d'utiliser cette méthode pour exécuter mon webapp. J'utilise mvn tomcat:run à la place. Beaucoup plus facile. Si je ne sais pas comment déboguer.

0
répondu Ram 2011-07-21 06:29:35

ce problème peut être causé par le fait que votre projet local n'est pas synchronisé avec votre dépôt de code. Je suggère de rafraîchir / synchroniser votre projet.

0
répondu Marcin Wasiluk 2012-02-03 10:58:13

j'ai rencontré le même problème et nettoyer et recréer le serveur n'aide pas. Mais lorsque j'ai déployé un autre projet, il a pu démarrer avec succès. Après beaucoup de comparaison, j'ai trouvé des différences dans la .les fichiers de projet. J'ai donc copier le contenu de l' .le fichier de projet du projet de travail dans celui qui a un problème, l'ajouter de nouveau au serveur et il fonctionne. Voici le contenu de la .fichier de projet qui fonctionne. Notez que vous devez modifier le nom du projet en conséquence:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Project Name</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
    <buildCommand>
        <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
        <arguments>
        </arguments>
    </buildCommand>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
    <buildCommand>
        <name>org.eclipse.wst.common.project.facet.core.builder</name>
        <arguments>
        </arguments>
    </buildCommand>
    <buildCommand>
        <name>org.eclipse.wst.validation.validationbuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>
<natures>
    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>

0
répondu gkl 2013-06-07 13:02:24

a tout essayé sans succès. Je viens d'avoir un projet dans mon éclipse. Fermer éclipse vers le bas, renommez le répertoire eclipse, décompressez-le à nouveau, commencé frais dans la nouvelle eclipse. Il a travaillé.

non ce n'est pas efficace.

0
répondu Mustafa 2013-09-24 16:50:25

les Étapes que j'ai suivi et sera à 100%:

  1. Nettoyez votre serveur et le répertoire de travail de votre serveur en cliquant avec le bouton droit de la souris sur le serveur
  2. supprimer le dossier serveur de votre fenêtre d'Explorateur de projet
  3. Supprimer le serveur à partir de l'environnement d'exécution ie Eclipse -> Fenêtre -> Préférences -> Serveur -> Environnements d'Exécution
  4. Shut eclipse et recommencer
  5. Run le fichier sur le serveur reconfigure à nouveau le serveur Apache
  6. le problème est résolu
0
répondu Sahil 2013-11-25 06:02:31
Check this version:

<web-app version="**2.5**" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_**2_5**.xsd" metadata-complete="true">

and 

org.eclipse.wst.common.project.facet.core.xml

<installed facet="jst.web" version="**2.5**"/>

It can be incompatible with the chosen server. In my case when I tried to upgrade 3.0 tomcat 6.0 stopped working so I had to revert back to 2.5


so upgrade your server to a highter version or downgrade the web.xml version and run maven --> update project and try again
0
répondu Cynthia Elliot 2014-01-20 11:17:22

dans mon cas il suffisait de copier (du projet de travail):

  1. .paramètres
  2. .classepath
  3. .projets
0
répondu SkorpEN 2014-06-23 10:08:37