Ответ 1
Чтобы решить эту проблему, вы должны удалить файл .snap
, расположенный в каталоге:
<workspace-directory>\.metadata\.plugins\org.eclipse.core.resources
После удаления этого файла вы можете без проблем запустить Eclipse.
Итак, получился этот проект, который работал отлично до выходных (есть другие проблемы, но, по крайней мере, Tomcat запущен). Теперь, когда я пытаюсь запустить сервер Tomcat, он немедленно дает следующую ошибку:
Server Tomcat v7.0 Server at localhost failed to start.
Тем не менее, я могу начать Tomcat просто отлично через Terminal, и эта проблема возникает в Eclipse (Eclipse Java EE IDE для веб-разработчиков. Версия: Juno Service Release 1 Build id: 20121004-1855)
Я просмотрел несколько форумов, пытаясь найти решение, но безуспешно! Пожалуйста, помогите кому-то в нужде.
Чтобы решить эту проблему, вы должны удалить файл .snap
, расположенный в каталоге:
<workspace-directory>\.metadata\.plugins\org.eclipse.core.resources
После удаления этого файла вы можете без проблем запустить Eclipse.
Откройте вкладку Серверы в Windows → Показать представление → Меню серверов
Щелкните правой кнопкой мыши на сервере и удалите его
Создайте новый сервер, выбрав Новый → Сервер на вкладке Сервер
Нажмите на ссылку "Настроить среду выполнения…"
Выберите сервер Apache Tomcat v7.0 и удалите его. Это удалит конфигурацию сервера Tomcat. Именно здесь многие люди ошибаются - они удаляют сервер, но не удаляют среду выполнения.
Нажмите OK и выйдите из экрана выше.
На приведенном ниже экране выберите сервер Apache Tomcat v7.0 и нажмите кнопку "Далее".
Перейдите в каталог установки Tomcat
Нажмите Далее и выберите, какой проект вы хотите развернуть:
Нажмите "Готово" после добавления проекта
.Теперь запустите ваш сервер. Это исправит тайм-аут сервера или любые проблемы со старой конфигурацией сервера. Это решение также можно использовать для устранения проблем, связанных с отсутствием обновления порта.
Чтобы устранить эту проблему, вы должны удалить папку tmp в следующем каталоге
<workspace-directory>\.metadata\.plugins\org.eclipse.wst.server.core
Если при удалении этой папки возникли проблемы, перезапустите eclipse, а затем удалите эту папку.
В моем случае проблема была в коде xml
как-то.
Мой файл web.xml
выглядел следующим образом:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>index</servlet-name>
<jsp-file>index.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>index</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
но я изменил его, чтобы выглядеть как
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>
и теперь сервер правильно загружается. Странно.
Сервер Tomcat v7.0 Сервер на локальном хосте не запускался.
Эта ошибка возникает после трех случаев
Проект и сервер 1.Clean
или
2. Удалите файл .snap из этого каталога
<workspace-directory>\.metadata\.plugins\org.eclipse.core.resources
или
3. Измените временный файл из этого каталога
<workspace-directory>\.metadata\.plugins\org.eclipse.wst.server.core
Я столкнулся с этой проблемой, потому что я определяю отображение сервлета в классе сервлета и web.xml.
Вы должны быть осторожны, чтобы убедиться, что вы определили отображение сервлета в вашем классе сервлета и web.xml
1) удалить @WebServlet("...")
@WebServlet("/Login")
public class Login extends HttpServlet {
}
ИЛИ
2) удалить <servlet></servlet> <servlet-mapping></servlet-mapping>
<servlet>
<servlet-name>ServletLogin</servlet-name>
<servlet-class>Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletLogin</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
Причина:
Я использую apache tomcat 7.0, который поддерживает сервлет 3.0.
С аннотациями Java EE стандартным дескриптором развертывания web.xml является
необязательно. Согласно спецификации сервлета 3.0 на
В моем случае проблема была в файле web.xml, где я забыл предшествовать url-шаблону с помощью "/" (например,/login.do).
Что я решил решить, как было упомянуто выше @Ajak6, добавив API сервлета в качестве внешней библиотеки JAR для проекта.
Однако я нашел лучший способ, добавив Tomcat в целевую среду выполнения, как показано ниже:
1) project > свойства
2) в боковом меню выберите "Целевые время выполнения"
3) выберите Tomcat (нажмите "Применить" )
4) нажмите ok
Ни один из упомянутых выше ответов не работал для меня. Я использую Tomcat 9 в Eclipse IDE. Поэтому я попробовал следующие шаги на моем Eclipse Neon.
Шаг № 1: Нажмите на вкладку Servers
, чтобы увидеть ваш сервер. В моем случае это выглядит следующим образом:
Шаг № 2: Щелкните правой кнопкой мыши на сервере, выберите Properties
, вы увидите следующее окно. Нажмите Switch Location
, он изменит местоположение, показанное на изображении ниже, по умолчанию. Нажмите Apply
, а затем OK
, чтобы закрыть окно.
Шаг № 3 Дважды щелкните по серверу Tomcat, который откроет опцию Overview
, как показано на рисунке ниже. Партия Server Locations
была активна для меня, когда я это сделал (она показалась неактивной на изображении, потому что я уже сделал это на своем конце, и у меня работает сервер), и я выбрал вторую опцию переключателя, которая является Use Tomcat installation (takes control of Tomcat installation)
. Затем я закрыл эту опцию, сохранил изменения при появлении запроса и запустил мой сервер. Он начал работать нормально.
Создание новой рабочей области также может решить эту проблему.
откройте файл web.xml. (если вы не знаете, где это, тогда просто перейдите в Google). это примерно так:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
.
.
.
.
</web-app>
чуть ниже строки <?xml version="1.0" encoding="UTF-8"?>
, добавьте тег <element>
и закройте его в самом низу тегом </element>
. Готово.
У меня была такая же проблема на моем сервере tomcat, но когда я проверял, я обнаружил, что добавляю новый тег в свой файл web.xml, и сервер не принимает его, поэтому проверяйте файл, если произошло какое-либо обновление, а затем перезапустите ваш кот и будет хорошо.
Все работало нормально в течение одной секунды, а затем мой сервер начал давать мне эту ошибку. Я рассмотрел все ответы, упомянутые здесь, и для меня это было простым решением:
Удаление сервера, а затем настройка нового
Если вы уверены, что ничего не изменили, и только что вышла ошибка, НЕ начинайте удалять файлы .snap или другие временные файлы. Это вызовет больше проблем. И если ошибка произошла из-за некоторых сделанных вами изменений, эта ошибка определенно будет из-за некоторых ошибок в файле web.xml.
P.S. Изменение рабочего пространства не сделает вам абсолютно ничего хорошего, потому что если проблема в вашем проекте, то это все равно произойдет в новом рабочем пространстве, когда вы импортируете проект!
Попробуйте удалить существующий сервер tomcat на консоли сервера, если у вас нет консоли, вы можете перейти на "Показать вид → сервер", а затем удалить сервер, щелкнув правой кнопкой мыши на нем. Добавьте новый сервер, это поможет вам.
У меня была такая же проблема, и не ответы здесь помогли моему делу. Поэтому после нескольких часов поиска я нашел решение для меня, и я надеюсь, что это поможет кому-то еще.
Это решение для тех, кто получает сервер "Tomcat v7.0 Server на локальном хосте". после настройки сервера tomcat в eclipse и попытке запустить на нем проект.
После настройки сервера tomcat в eclipse вам необходимо скопировать каталог "WEB-INF" из вашего tomcat. C: \...% TOMCAT_HOME%\webapps\ROOT и их вы найдете "WEB-INF", просто скопируйте и вставьте его в свою папку WebContent в проект eclipse (перезапишите файл web.xml).
Надеюсь, что это поможет.
в моем случае ошибка заключалась в том, что он не смог найти servlet-api.jar. Не знаю, почему внезапно он начал давать ошибку для этого. Потому что раньше он работал без каких-либо проблем. После предоставления servlet-api.jar в опции пути сборки сервер успешно начал работу.
1-Перейдите в каталог рабочей области ".metadata".plugins "org.eclipse.wst.server.core папка.
2- Удалить папку tmp.
3- Перезагрузите Eclipse IDE
В моем случае я разложил мою папку tomcat (тот, у кого все файлы в ней), в другое место.
Затем, когда я запустил eclipse и попытался запустить мой проект с помощью jsp и сервлетов, я получил ту же ошибку.
Я попробовал все ответы здесь, но ничего не изменил. Решение для меня состояло в том, чтобы поместить все файлы JAR Tomcat в проектную библиотеку следующим образом:
Теперь вы должны найти их в папке "Библиотеки" вашего проекта, а затем он должен работать.
В рабочем пространстве eclipse это было разрешено, выполнив следующие шаги. Окно → Настройки → Сетевые подключения → Изменить "Активный провайдер" на "Прямой", вместо "Родной". Вы можете попробовать.
В эти выходные я столкнулся с подобной проблемой. Пробовал все вышеупомянутые трюки, но никто из них не работал со мной. (Работа в Eclipse LUNA)
Затем я проанализировал, что перед созданием определенного сервлета я успешно запускал Apache Tomcat v7.0. Что было "RefreshServlet", как показано ниже:
Так что практикующие сервлеты понимают функционирование "AutoRefresh". Когда я удаляю этот сервлет из своего приложения, он работает нормально, но когда я пытаюсь добавить и запустить этот сервлет, он дает ту же ошибку "Apache Tomcat v7.0 не удалось запустить"
Не знаю, почему, но только удаление этого сервлета отлично подходит для запуска остальной части моего приложения.
Итак, предложение от моей нижней строки будет заключаться в том, что если какой-либо другой трюк не работает, попробуйте удалить любой последний сервлет или любой класс, который вы только что создали, прежде чем получить эту ошибку, и это может сработать для вас тоже для остальных приложения.
Любое дальнейшее объяснение будет оценено по достоинству. Благодаря
Проверьте свой веб-дескриптор (web.xml) или на своих сервлетах (где вы комментируете, проверяете что-то вроде "@WebServlet" ( "/servlet_name" ) ") для любых дубликатов. Если они удалены,
Вы можете щелкнуть правой кнопкой мыши по apache-tomcat, выбрать свойства, нажать "Восстановить по умолчанию".
В моем случае проблема была вызвана синтаксической ошибкой в передаваемых аргументах. У меня было пробел между ключом и значением при использовании '-D'
то есть.
-DMyArg= MyValue
вместо
-DMyArg=MyValue
дважды щелкните сервер Apache на вкладке сервера eclipse. теперь измените порт администратора tomacat на 8010, http порт изменится на 8082 и порт Ajp изменится на 8011.
Если весь данный ответ не работает для вас, просто измените текущее рабочее пространство.
file- > рабочее пространство переключателя
Это решит вашу проблему.
В моем случае проблема была связана с другим экземпляром Tomcat. Я остановил его из служб, и проблема была решена.
После выполнения всех вышеупомянутых шагов проблема не была решена.
Наконец, он разрешил следующие шаги.
1- Проверить файл .log внутри каталога рабочего пространства. Проблема с версией Java
"Caused by: java.io.IOException: не удается запустить программу" C:\jdk1.7.0_45\bin\java ": ошибка CreateProcess = 193,% 1 не является допустимым приложением Win32 в java.lang.ProcessBuilder.start(Неизвестный источник) в java.lang.Runtime.exec(Неизвестный источник) в java.lang.Runtime.exec(Неизвестный источник) на org.eclipse.debug.core.DebugPlugin.exec(DebugPlugin.java:869) ... еще 80
Вызывается: java.io.IOException: Ошибка CreateProcess = 193,% 1 не является допустимым приложением Win32 в java.lang.ProcessImpl.create(собственный метод) в java.lang.ProcessImpl. (Неизвестный источник) в java.lang.ProcessImpl.start(Неизвестный источник) "
Я установил корректный JDK, совместимый с ОС, и проблема была решена. PS: Я явно установил JDK-путь через eclipse (Window- > preference- > installed JRE), но после установки правильного пути JDK он отлично работает для меня.
Первая проверка в вашем Web.xml, что есть несколько < отображение сервлетов > теги с разными именами Если это так, удалите ненужные и запустите.. Это должно работать нормально
ИЛИ
Чтобы устранить эту проблему, вам необходимо удалить файл .snap, расположенный в каталоге.
Откройте свое рабочее пространство Eclipse, которое вы ИспользованиеPath → workspace.metadata.plugins\org.eclipse.core.resources\snapfile
Удалите snap файл.
После удаления этого файла, Удалить сервер Tomcat Затем также удалите время выполнения сервера, выбранное в качестве Apache tomcat. Затем снова добавьте сервер и выберите "Проект" → "Свойства" → "Границы проекта" → "Вправо" вы найдете вкладки "Детали" и "Вкладки". Нажмите Runtimes и установите флажок Apache, который уже существует (если нет, добавьте его)
Измените номера портов и запустите его.
попробуйте удалить все зависимости проекта от локального репозитория maven (.m2).
Путь: C:\Users\имя_пользователя \.m2\репозиторий
закрыть eclipse и снова открыть его, он автоматически загрузит все зависимости.
Я решил свою проблему, просто закрыв все другие проекты в eclipse.
Подумайте о очистке вашего объекта перед запуском сервлета. Это удалит все поврежденные файлы.