Ошибка Eclipse tomcat: база документов не существует или не является читаемым каталогом - PullRequest
41 голосов
/ 13 декабря 2011
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

Я запустил свой проект веб-приложения в Eclipse, но сегодня я получил сообщение в консоли. Tomcat вернет мне ошибку 404 страницы. Возможно, проблема в том, что папка, в которую я бы написал, не существует. Где трюк?

Ответы [ 20 ]

45 голосов
/ 19 февраля 2014

Самое простое решение (и то, что сработало для меня) состояло в том, чтобы удалить мой сервер Tomcat из представления «Серверы» в Eclipse, затем создать новый сервер и добавить в него все соответствующие модули.

Иногда tomcat запутывается, и самый простой / наименее трудоемкий способ решения проблем - начать все сначала.

20 голосов
/ 04 февраля 2014

У меня та же ошибка, просто несколько раз запустите эту команду maven и решите проблему.

mvn eclipse:clean eclipse:eclipse -Dwtpversion=2.0

eclipse не распознает, что это веб-проект, поэтому никогда не развертывайте приложение.

9 голосов
/ 11 января 2016

У меня была та же проблема с использованием Tomcat 7 и Eclipse Mars.Я решил это следующим образом:

  • stop Tomcat
  • open server.xml

    Ctrl + Shift + R > тип "server.xml"> Открыть

  • поиск "<Context docBase"

    Ctrl + F > тип "<Context"> Найти

  • удалить все <Context .../> теги отсюда:

    <?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>
    
    • вероятно, в конце последней строки, которая должна быть удалена, будет </Host> (не удалять </Host>!)
  • Перейти кВкладка Серверы> щелкните правой кнопкой мыши проект (ы)> Удалить> OK

    remove

  • Щелкните правой кнопкой мыши проект> Запуск от имени> Запуск на сервере> Готово

    Теперь все должно работать!Если вы проверите файл server.xml, то увидите, что сгенерирована новая правильная строка "<Context ... />".

6 голосов
/ 17 января 2014

Это может быть поздно, но в интересах тех, кто может столкнуться с той же проблемой в будущем, я поделюсь тем, что испытал.

Эта проблема возникла после удаления папки WebContent из папки Dynamic Web Project, которую я только что создал, вместо папки webapp, которая является стандартной папкой моей компании. Я обнаружил, что в папке Project Properties > Deployment Assembly, WebContent по-прежнему используется в качестве корня веб-приложения (Deploy Path : "/"). Таким образом, Eclipse не копирует проект в .metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps, поскольку корень, указанный в Deployment Assembly, больше не существует.

Я исправил это, отредактировав эту запись, затем исправив ее с помощью папки, которую я использую вместо стандартной WebContent (папка webapp)

5 голосов
/ 21 июля 2014

При использовании Eclipse STS

  1. открыть представление сервера

  2. выберите сервер, который вы пытаетесь опубликовать на

  3. щелчок правой кнопкой мыши -> очистить

У меня была эта проблема пару раз, и казалось, что это всегда исправлялось. Я полагаю, что другие решения тоже работают, но они кажутся мне более сложными.

enter image description here

4 голосов
/ 28 декабря 2016

Это может произойти из-за папки " Tomcat \ conf \ Catalina ".Пожалуйста, удалите эту папку.

Спасибо, Камаль

3 голосов
/ 13 декабря 2011

Глядя на полученное исключение, это похоже на проблему с публикацией вашего WEB-приложения (например, Eclipse WTP может что-то испортить).Первые вещи, которые приходят мне в голову:

Проверьте настройки сервера Tomcat: перейдите в раздел Серверы - дважды щелкните свой сервер.Получите ваш «Расположение сервера - Путь к серверу» и проверьте, существует ли он, и проверьте права доступа пользователя / группы на чтение / запись.например.ls -lh somepath / .medadata / .plugins / .org.eclipse.wst.server.core / tmp0 Вы должны быть владельцем или хотя бы в той же группе для папки.

Очистить рабочее пространство eclipse.(Проект - очистить все)

Очистить / повторно опубликовать ваше wep-приложение (щелкнуть правой кнопкой мыши на сервере, очистить, опубликовать).

Проверить, опубликовано ли приложение, должна быть папка с именем Preventiniв /home/claudio/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ Здесь также проверьте разрешения (см. выше).

2 голосов
/ 16 ноября 2015

Случалось со мной пару раз.

Windows> Показать представление> Серверы>

Список серверов будет отображаться внизу Щелкните правой кнопкой мыши и удалите.

Теперь во время работы вашего проекта вручную выберите сервер из списка существующих серверов и запустите.

1 голос
/ 26 октября 2014

Я решил эту ошибку, добавив удаление и добавление файлов jar из папки WebContent / WEB-INF / lib.и я сделал то же самое в свойствах проекта, т. е. (щелкните правой кнопкой мыши проект-> Build Path-> configure build Path), выбрав опцию Add External Jar.

1 голос
/ 12 февраля 2014

Мне пришлось удалить нарушающий проект / модуль из представления конфигурации tomcat на вкладке модулей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...