Невозможно "запустить на сервере" веб-приложение из Eclipse - PullRequest
27 голосов
/ 15 июля 2011

При запуске моего проекта WebApp из Eclipse чаще всего он работает правильно. Но если по ошибке остановить сервер, я убиваю его в представлении «Консоль» вместо «Остановить» сервер из представления «Серверы». При запуске чистого проекта я получаю это

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$1.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)

И при запуске я получаю это

SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Webapp 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)

Пожалуйста, помогите оправиться от этого.

Ответы [ 15 ]

0 голосов
/ 24 сентября 2013

Перепробовал все без удачи. У меня был только один проект в моем затмении. Выключите затмение, переименуйте каталог eclipse, разархивируйте его снова, началось новое затмение. Это сработало.

Нет, это не эффективно.

0 голосов
/ 07 июня 2013

Я столкнулся с той же проблемой, и очистка и воссоздание сервера не помогает. Но когда я развернул другой проект, он смог успешно стартовать. После долгих сравнений я обнаружил различия в файлах .project. Поэтому я копирую содержимое файла .project рабочего проекта в тот, у которого есть проблема, добавляю его обратно на сервер, и он работает. Ниже приведено содержимое файла .project, который работает. Обратите внимание, что вам необходимо изменить название проекта соответственно:

<?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 голосов
/ 03 февраля 2012

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

0 голосов
/ 21 июля 2011

Я перестал использовать этот метод запуска моего веб-приложения. Я использую mvn tomcat:run вместо этого. Намного легче. Хотя я не знаю, как отлаживать.

0 голосов
/ 15 июля 2011

Проверка Tomcat doc для базы документов xyz не существует или не является читаемым каталогом:

База документов не существует или не является читаемым каталогом URL указанный военным параметром должен идентифицировать каталог на этом сервер, который содержит «распакованную» версию веб-приложения или абсолютный URL-адрес файла архива веб-приложения (WAR), который содержит это приложение. Исправьте значение, указанное в параметре war.

Можно ли вручную выполнить «Очистить ...», а затем «Опубликовать» (из контекстного меню Tomcat в представлении «Серверы») после завершения очистки проекта?

...