web-dev-qa-db-fra.com

Erreur Eclipse Tomcat: la base de documents n'existe pas ou n'est pas un répertoire lisible

13-dic-2011 17.00.36 org.Apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the Java.library.path: /usr/lib/jvm/Java-6-openjdk/jre/lib/AMD64/server:/usr/lib/jvm/Java-6-openjdk/jre/lib/AMD64:/usr/lib/jvm/Java-6-openjdk/jre/../lib/AMD64:/usr/Java/packages/lib/AMD64:/usr/lib/jni:/lib:/usr/lib
13-dic-2011 17.00.36 org.Apache.Tomcat.util.digester.SetPropertiesRule begin
AVVERTENZA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.Eclipse.jst.jee.server:Preventivi' did not find a matching property.
13-dic-2011 17.00.36 org.Apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
13-dic-2011 17.00.36 org.Apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8443"]
13-dic-2011 17.00.37 org.Apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
13-dic-2011 17.00.37 org.Apache.catalina.startup.Catalina load
INFO: Initialization processed in 983 ms
13-dic-2011 17.00.37 org.Apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
13-dic-2011 17.00.37 org.Apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.23
13-dic-2011 17.00.37 org.Apache.catalina.core.StandardContext resourcesStart
Grave: Error starting static Resources
Java.lang.IllegalArgumentException: Document base /home/claudio/workspace/.metadata/.plugins/org.Eclipse.wst.server.core/tmp0/wtpwebapps/Preventivi does not exist or is not a readable directory
    at org.Apache.naming.resources.FileDirContext.setDocBase(FileDirContext.Java:140)
    at org.Apache.catalina.core.StandardContext.resourcesStart(StandardContext.Java:4880)
    at org.Apache.catalina.core.StandardContext.startInternal(StandardContext.Java:5060)
    at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
    at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1525)
    at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1515)
    at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:334)
    at Java.util.concurrent.FutureTask.run(FutureTask.Java:166)
    at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1110)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:603)
    at Java.lang.Thread.run(Thread.Java:636)
13-dic-2011 17.00.37 org.Apache.catalina.core.StandardContext startInternal
Grave: Error in resourceStart()
13-dic-2011 17.00.37 org.Apache.catalina.core.StandardContext startInternal
Grave: Error getConfigured
13-dic-2011 17.00.37 org.Apache.catalina.core.StandardContext startInternal
Grave: Context [/Preventivi] startup failed due to previous errors
13-dic-2011 17.00.37 org.Apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
13-dic-2011 17.00.37 org.Apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8443"]
13-dic-2011 17.00.37 org.Apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
13-dic-2011 17.00.37 org.Apache.catalina.startup.Catalina start
INFO: Server startup in 319 ms

J'ai exécuté mon projet webapp dans Eclipse, mais aujourd'hui, j'ai reçu le message dans la console. Tomcat me renvoie une erreur de page 404. Peut-être que le problème est que le dossier où j'écrirais n'existe pas. Où est l'astuce?

43
Claudio Pomo

La solution la plus simple (et ce qui a fonctionné pour moi) était de supprimer mon serveur Tomcat de la vue "Serveurs" dans Eclipse, puis de créer un nouveau serveur et d'y ajouter tous les modules appropriés.

Parfois, Tomcat est confus et le moyen le plus simple/le moins long de résoudre les choses est de recommencer.

45
DiscDev

j'ai la même erreur, exécutez simplement cette commande maven à plusieurs reprises et résolvez le problème.

mvn Eclipse:clean Eclipse:eclipse -Dwtpversion=2.0

Eclipse ne reconnaissait pas qu'il s'agissait d'un projet Web, ne déployez donc jamais l'application.

20
Socas

J'ai eu le même problème avec Tomcat 7 et Eclipse Mars.
Je l'ai résolu comme suit:

  • arrêter Tomcat
  • ouvrir server.xml

    Ctrl + Shift + R > tapez "server.xml"> Ouvrir

  • rechercher "<Context docBase "

    Ctrl + F > tapez "<Context "> Rechercher

  • enlever tout <Context .../> balises d'ici:

    <?xml version="1.0" encoding="UTF-8"?>
    ...
    <Server port="8005" shutdown="SHUTDOWN">
        ...
        <Service name="Catalina">
            ...
            <Engine defaultHost="localhost" name="Catalina">
                ...
                <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
                    ...
                    <!-- Remove the following lines! -->
                    <Context docBase="App1" path="/App1" reloadable="true" source="org.Eclipse.jst.j2ee.server:App1" />
                    <Context docBase="App2" path="/App2" reloadable="true" source="org.Eclipse.jst.j2ee.server:App2" />
                </Host>
            </Engine>
        </Service>
    </Server>
    
    • probablement à la fin de la dernière ligne qui doit être supprimée est </Host> (ne supprimez pas </Host>!)
  • Allez dans l'onglet Serveurs> clic droit sur le (s) projet (s)> Supprimer> OK

    remove

  • Faites un clic droit sur le projet> Exécuter en tant que> Exécuter sur le serveur> Terminer

    Maintenant ça devrait marcher!
    Si vous vérifiez le fichier server.xml, vous verrez qu'un nouveau correct "<Context ... /> "a été générée.

10
ROMANIA_engineer

Cela pourrait être en retard, mais pour le bénéfice de ceux qui pourraient rencontrer le même problème à l'avenir, je partagerai ce que j'ai vécu.

J'ai rencontré ce problème après avoir supprimé le dossier WebContent du Dynamic Web Project Je viens de créer à la place du dossier webapp qui est le dossier standard de mon entreprise. J'ai découvert que, dans Project Properties > Deployment Assembly, WebContent dossier est toujours utilisé comme racine de l'application Web (Deploy Path : "/"). Ainsi, Eclipse ne copie pas le projet dans .metadata/.plugins/org.Eclipse.wst.server.core/tmp0/wtpwebapps car la racine spécifiée dans Deployment Assembly n'existe plus.

Je l'ai corrigé en modifiant cette entrée, puis en le corrigeant avec le dossier que j'utilise à la place du dossier par défaut WebContent (le dossier webapp)

6
Bnrdo

Si vous utilisez Eclipse STS

  1. ouvrir la vue du serveur

  2. sélectionnez le serveur sur lequel vous essayez de publier

  3. clic droit -> nettoyer

J'ai eu ce problème plusieurs fois et cela a toujours semblé le résoudre. Je suppose que les autres solutions fonctionnent aussi mais elles me semblent plus compliquées.

enter image description here

5
ilinca

Cela peut se produire car le dossier "Tomcat\conf\Catalina". Veuillez supprimer ce dossier.

Merci Kamal

4
Kamal Singh Kirar

En regardant l'exception que vous obtenez, cela ressemble à un problème avec la publication de votre application WEB (par exemple. Eclipse WTP pourrait gâcher quelque chose). Les premières choses qui me viennent à l'esprit:

Vérifiez les paramètres de votre serveur Tomcat: allez dans Serveurs - double-cliquez sur votre serveur. Obtenez vos 'Emplacements de serveur - Chemin du serveur' et vérifiez s'il existe et vérifiez les autorisations de lecture/écriture de l'utilisateur/groupe. par exemple. ls -lh somepath/.medadata/.plugins/.org.Eclipse.wst.server.core/tmp0 Vous devez être propriétaire ou au moins dans le même groupe pour le dossier.

Nettoyez l'espace de travail Eclipse. (Projet - nettoyer tout)

Nettoyez/republiez votre application wep (clic droit sur le serveur, nettoyez, publiez).

Vérifiez si l'application est publiée, il devrait y avoir un dossier nommé Preventini dans /home/claudio/workspace/.metadata/.plugins/org.Eclipse.wst.server.core/tmp0/wtpwebapps/ Vérifiez également les autorisations ici à nouveau (voir au dessus de).

3
proko

Cela m'est arrivé plusieurs fois.

Windows> Afficher la vue> Serveurs>

Une liste de serveurs s'affichera en bas. Faites un clic droit dessus et supprimez.

Maintenant, lors de l'exécution de votre projet, sélectionnez manuellement le serveur dans la liste des serveurs existants et exécutez.

2
imsolo

J'ai eu ce problème lorsque j'ai importé un projet et que je l'ai exécuté avec Tomcat. Je l'ai corrigé lorsque j'ai ouvert le fichier .project et ajouté du code:

<nature>org.Eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.Eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.Eclipse.jem.workbench.JavaEMFNature</nature>
1
harry

j'ai résolu cette erreur en ajoutant et en supprimant à nouveau les fichiers jar du dossier WebContent/WEB-INF/lib. et j'ai fait la même chose dans les propriétés du projet, c'est-à-dire (clic droit sur projet-> Chemin de construction-> configurer le chemin de construction) en sélectionnant l'option Ajouter un pot externe.

1
user4181812

J'ai dû supprimer un projet/module incriminé de la vue de configuration Tomcat, sous l'onglet modules.

1
AmanicA

Vous pouvez regarder dans Tomcat\conf\Catalina\localhost, si vous pouvez voir le fichier xml dont son nom correspond à votre message d'erreur. Vous pouvez simplement supprimer le fichier xml et redémarrer votre Tomcat.

0
dingjsh

Cela peut se produire si vous exécutez maven pour construire un projet Java

mvn Eclipse:eclipse 

Au lieu d'exécuter maven pour construire un projet web Java project as:

mvn Eclipse eclipse -Dwtpversion=2.0
0
user648026

J'ai rencontré ce problème aujourd'hui, puis je l'ai résolu en modifiant le fichier server.xml dans le répertoire de% Tomcat_home%\conf, comme ci-dessous:

<Context docBase="E:\Apache-Tomcat-7.0.52\webapps\ROOT" path="/ROOT" reloadable="true" source="org.Eclipse.jst.j2ee.server:pc-ui"/>

Je ne sais pas si c'est MyEclipse qui a généré l'élément "Context" dans l'élément "Host", mais je le change en fonction des informations d'erreur affichées dans la console IDE).

0
tiger

Accédez à l'application Web Tomcat Manager Select -> annulez le déploiement

0
Priyan

J'ai eu cette erreur plusieurs fois. Je l'ai obtenu parce que mon projet ne se construisait pas correctement après avoir exécuté la ligne "mvn Eclipse: eclipse". Assurez-vous que votre projet est correctement construit, puis ajoutez et supprimez le projet du serveur.

0
dev4life

Aujourd'hui, je travaillais avec un autre projet et obtenais des erreurs lors du démarrage du serveur (Tomcat7), donc j'ai d'abord cleaned le serveur et essayé mais pas de chance, puis j'ai supprimé le serveur et en ai créé un nouveau.

Le projet sur lequel je travaillais a commencé à bien fonctionner, mais un autre projet a commencé à me donner la même exception, j'ai à nouveau supprimé le serveur et essayé le même cas, même je n'ai pas pu accéder à la page de destination de Tomcat, c'est-à-dire localhost:8888/. Je ne sais vraiment pas comment et pourquoi tout cela s'est produit.

J'ai essayé plusieurs choses comme clean, add/remove puis j'ai commencé à chercher SO.

Après quelques recherches, j'ai pensé donner une chance de plus, puis j'ai redémarré le serveur cette fois, mes deux projets ont commencé à bien fonctionner, mais obtiennent toujours 404 sur la page Tomcat

0
SSH

Comme un problème trivial, le projet que vous essayez de démarrer peut être fermé (cela pourrait être manquant, si vous avez de nombreux projets dans l'espace de travail!). Faites simplement right click -> Open Project, dans ce cas.

enter image description here

0
Andrea