Не удалось развернуть приложение на контекстном пути
НЕ рекомендуется размещать элементы непосредственно в файле server.xml.
Поэтому я попытался сделать это другим методом, который он предложил.
Отдельные элементы контекста могут быть явно определены: в отдельном файле в /META-INF/context.xml внутри файлов приложения.
Итак, я создал /META-INF/context.xml следующий код:
Но после развертывания, когда я перезапустил сервер, ему все равно не удалось загрузить контекст в «/», он все равно загрузил его с "/<WEB_APP_NAME>"
Любые указатели полезны.
Причина «НЕ рекомендуется размещать элементы непосредственно в файле server.xml», приведенная в документации, следует из следующего предложения: «Это потому, что это делает изменение конфигурации контекста более инвазивным, поскольку основной файл conf / server.xml не может быть перезагружен без перезапуска Tomcat. " Принятый ответ ниже напрямую решает проблему, но если вы вряд ли измените этот путь снова, или перезапуски не слишком разрушительны, изменение server.xml не кажется таким уж необоснованным.Что вы можете сделать, это следующее;
Добавить файл с именем ROOT.xml в <catalina_home>/conf/Catalina/localhost/
Этот ROOT.xml переопределит настройки по умолчанию для корневого контекста установки tomcat для этого движка и хоста (Catalina и localhost).
Введите следующее в файл ROOT.xml;
Вот, <yourApp> название вашего приложения .. :)
И тогда все должно быть в порядке!
Вниз проголосовали? Хорошо, но почему? Если есть лучшая альтернатива, дайте мне знать тоже! : D Будет ли это работать с другими войнами в обычной папке веб-приложений? Чтобы решить проблему двойного развертывания, вы также можете установить оба атрибута "deployOnStartup" и "autoDeploy" false атрибута Host в Я обнаружил, что если вы не переименуете папку ROOT по умолчанию в / webapps, «кошка возвращается», и она сбрасывает docBase в ROOT.xml. Это с сервером разработки VMware vfabric tc . Будьте осторожны. Похоже, что Tomcat 7 не разрешит docBase внутри / webapps сейчас, поэтому было бы обязательным размещать файл war в другом месте.Вот следующие единственные решения, которые работали для меня. Добавьте это к узлу хоста в файле conf / server.xml
будет на server.xml или context.xml ? я вижу тег XML <Context> в моем context.xml Существует также тег xml контекста в файле server.xml. Однако использование server.xml для определения контекста не рекомендуетсяперейдите в файл Tomcat server.xml и оставьте пустой путь
В Tomcat 9.0 мне нужно только изменить следующее в server.xml
Этот маленький код работал для меня, используя виртуальные хосты
Это в server.xml ? По словам например Али.Мойтехиды выше, это проблематично. Кроме того, другие ответы утверждают, что они /path/to должны находиться за пределами обычного пути веб-приложений. Кажется, работает нормально. Конечно, вы не хотите, чтобы приложение ROOT, существующее в той же папке веб-приложений, конфликтовало с вашим.Самое быстрое и, возможно, лучшее решение - это иметь содержание ниже <TOMCAT_INSTALL_DIR>/conf/Catalina/localhost/ROOT.xml
Это каталог docBase абсолютный или относительный к определенной папке? Когда я делаю путь нулевым, он не достигает моего приложения):в conf / catalina / webappsfoldername и разверните файл war как ROOT.war внутри webappsfoldername, а также укажите такой хост
В этом подходе также для приложений одного типа пользовательские сессии не имеют хорошей изоляции! вы можете войти в app1, если app1 совпадает с app2, вы можете после входа в систему через сеанс на стороне сервера автоматически войти в app2 ?! Таким образом, вы должны хранить сессию пользователей в кэше на стороне клиента, а не с jsessionid! мы можем изменить имя движка с localhost, чтобы решить его. но скажем, чтобы играть с котом, нужно больше времени, чем играть с другими кошками!
Я работаю в 2-х отдельных веб-приложениях: приложение back и front .. Самое смешное, что когда я запускаю back-end, у меня нет проблем. Но в интерфейсе я получаю следующую ошибку:
Оба работают на одном и том же Tomcat. мой коллега имеет тот же код, и он отлично работает: -s
Context Path (или) Context Root должен быть уникальным для каждого приложения, развернутого на сервере.
Таким образом, вы не можете развернуть два приложения с одинаковым корневым контекстом на одном сервере. Кажется, для обоих ваших приложений контекстный путь - / .
Проверьте server.xml , чтобы увидеть, какой контекстный путь у них обоих. Если они не уникальны, измените их, чтобы решить проблему.
Но если вам нужен одинаковый корень контекста для обоих приложений, вам необходимо развернуть их на двух разных серверах.
Для получения дополнительной информации: Настройка путей к контексту Tomcat
У меня возникла эта проблема после того, как многие ссылки, которые не работали, нашли это решение. Отредактируйте файл server.xml на сервере Tomee, чтобы указать полный путь для appBase:
Следующая ошибка возникает, если ваш контекст не был запущен должным образом . Экземпляр: у вас есть прослушиватель контекста, который вызывает метод, а метод отсутствует.
Я могу немного опоздать, но скажу, что это может быть из-за изменения названия фабрики в Tomcat 8. Поэтому выполните следующие шаги:
1) Во-первых, посмотрите, используете ли вы Tomcat 8 или выше.
2) Если да, то Tomcat не может развернуть ваше приложение. Запустите приложение в режиме отладки и просмотрите трассировку стека в окне Tomcat (внизу. Не совпадает с Tomcat.log). Прокрутите окно вниз и посмотрите, сможете ли вы найти исключение, подобное этому:
Причина: Java.lang.NoClassDefFoundError: Не удалось инициализировать класс org.Apache.Tomcat.dbcp.dbcp2.BasicDataSourceFactory
3) Если вы видите что-то похожее выше, откройте свой META-INF/context.xml и замените или добавьте атрибут фабрики в тег ресурса с помощью: Factory = "org.Apache.Tomcat.dbcp.dbcp2.BasicDataSourceFactory"
4) Перезапустите Tomcat и снова разверните его.
«неразвернутое приложение в контекстном пути» эта ошибка возникает из-за отсутствия некоторого файла при копировании проекта из одной системы в другую . при копировании убедитесь, что все файлы должны быть скопированы. В случае возникновения ошибки, пожалуйста, скопируйте проект и импортируйте его .. Это может сработать ..
Моя проблема была синтаксическая ошибка в web.xml, я не закрыл элемент
У меня была та же проблема, которую я решил, предоставив пользователю разрешение безопасности для Apache Server Foundation в корневой папке.
У меня была такая же проблема, но я использовал только maven (без IDE). Моя версия Tomcat была Tomcat7 7.0.70-1 и jdk8 (в pom.xml : <Java.version>1.8</Java.version> ) Оказалось, что Tomcat7 несовместим с Java 8, поэтому я изменил Java.version в pom.xml на <Java.version>1.7</Java.version> , и это было решением!
У меня также были проблемы с решением этой проблемы на моих сетевых компонентах. Я весь день стекаюсь, чтобы избавиться от этой проблемы. Было опробовано много решений, но ничего не произошло, пока я не попытался удалить папку «target» моего проекта, и это решило проблему! Надеюсь, поможет! :)
Репутация: 1
Всего: 1
Доброго времени суток!
Пожалуйста, помогите с разворачиванием приложение на сервере Apache Tomcat.
Вот такая ситуация, установил Alfresco, с ней установился Apache Tomcat который разворачивает её проекты. Как развернуть на этом же Apache Tomcat вместе с приложениями Alfresco и своё приложение war. Заранее спасибо.
Репутация: 2
Всего: 8
Деплоить/андеплоить можно и через Tomcat Manager. Это несколько сложнее, но может быть более гибко.
Репутация: 1
Всего: 1
nc30, спасибо, это как раз то, что нужно! Простой способ уже испытал - замечательно работает.
Но все же хотелось бы попробовать через Tomcat Manager, как Вы и говорили, он более гибкий, а это как раз то, что нужно. Со входом(авторизацией) в Tomcat я разобрался. Но появились новые, несколько, маленьких, на мой взгляд, проблем, с которыми тем не менее мне не удаётся справится. Пытаюсь Деплоить/андеплоить.
Данный проект самостоятельно деплоить, может дело в том, что он уже запущен , или же может я путь неправильно написал?
Репутация: 2
Всего: 8
Molodec, для деплоя через админку (Tomcat Manager) нужно сделать следующее (на всякий случай объясню по шагам с самого начала):
Подробную информацию вы найдете на офсайте Apache Tomcat, например по шестой версии: Apache Tomcat 6.0 Web Application Deployment.
Если не очень уверенно чувствуете себя в принципах разработки web-приложений, то можно почитать какую-нибудь книжку по этой теме, например Буди Курнявана.
Репутация: 1
Всего: 1
У меня ещё один маленький вопрос - Вы никогда не сталкивались с тем, что один проект нормально деплоится, а другой не полностью разворачивается и не работает?
Вот как у меня:
Репутация: 2
Всего: 8
Эта ошибка говорит о том, Tomcat не может найти одну из страниц проекта. В данном случае - стартовую.
Что касается конкретно вашего случая. Допустим, стартовая страница вашего проекта называется index.jsp. Тогда web.xml должен содержать примерно следующее:
Если для вас эти знания совсем новые, то, полагаю, в этом случае не обойтись без более глубокого изучения технологии сервлетов.
Репутация: 1
Всего: 1
Добавил, по Вашему примеру. Все равно не работает. Но я больше чем уверен, что это я что-то не так сделал.
Маленький вопрос: у меня проект состоит из подпроектов. Один из которых и есть war. Как в таком случае деплоить? Выбрать этот war и он сам все зависимости что надо возьмёт, или как то иначе?
Репутация: 2
Всего: 8
Репутация: 1
Всего: 1
- Прежде, чем задать вопрос, прочтите это!
- Книги по Java собираются здесь.
- Документация и ресурсы по Java находятся здесь.
- Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
- Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
- Действия модераторов можно обсудить здесь.
- FAQ раздела лежит здесь.
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.
[ Время генерации скрипта: 0.1154 ] [ Использовано запросов: 21 ] [ GZIP включён ]
Вот такая проблема. Там папка называется не аксим, а Максим. Он почему-то постоянно ошибается и не добавляет первую букву. Иногда эта ошибка решается сама, после того как я перезапущу 10 раз vs code, но мне уже надоело, это что такое? И как решать это? Я путь к интерпретатору правильный указал, он просто букву пропускает одну почему-то.Повторная выборка интерпретатора через ctrl + shift + p не помогает, все равно он одну букву пропускает.
глупый ответ, с прошлым редактором работало, а тут нет значит? Тем более если самому добавить эту букву М, то все прекрасно заработает, но добавлять самому уже надоело.
Да и если я поменяю имя пользователя, имя папки от этого не поменяется, а самому менять это губить всё, у меня к этому пути много что привязано
И когда я на Node.js писал таких проблем не было в vs code, хотя тоже путь через /Максим/ шёл
Тогда создайте виртуальное окружение python установите нужные зависимости и попробуйте снова. Если не поможет тогда переустановите python
Ну кириллица вообще зло в разработке, до сих пор не все программы в винде умеют ее понимать да и сама винда до сих пор еще не пересела полностью на UTF. в общем каша у нее с кодировками. Для русской локали консоль в 866 имена каталогов в cp1251 а тут еще и UTF в редакторе. Бардак
PS: причем это болезнь только винды, под линуксами и макосью такой лабуды с путями не возникает. Странно да, продукт Майкрософт лучше работает на чужих платформах чем на своей собственной.
глупый ответ, с прошлым редактором работало, а тут нет значит?
Классика. Выполнить команду в консоле и винить в ошибках текстовый редактор.
Что делает оператор &? он же вроде объеденяет две команды cmd
не знаю, кнопка Run в vs code таким образом запускает скрипт
dethain, Если у вас пайтон установлен глобально, напишите - python название_скрипта.py
У меня такая же пакость, не могу понять откуда дописывает "&" в том же месте, и через виртуальное окружение и глобально. Отдельно в терминале все запускается без проблем в VS Code появляется "&". В PyCharm всё запускается без "&". Все названия в пути без кириллицы. Предполагаю это связано с версией Python 3.9(запускается командой "py" а не "python") и её обработкой VS Code.
Переустановка VS и python на 3.8 ничего не изменила, тупик, народ, выручайте!
Читайте также: