developer tip

터미널에서 작동하는 동안 스택 추적없이 "로컬 호스트의 서버 Tomcat v7.0 서버를 시작하지 못했습니다."

optionbox 2020. 10. 25. 12:07
반응형

터미널에서 작동하는 동안 스택 추적없이 "로컬 호스트의 서버 Tomcat v7.0 서버를 시작하지 못했습니다."


그래서 주말 전에 잘 작동 한이 프로젝트를 얻었습니다 (다른 문제가 있지만 적어도 Tomcat이 시작되었습니다). 이제 Tomcat 서버를 시작하려고하면 즉시 다음 오류가 발생합니다.

Server Tomcat v7.0 Server at localhost failed to start.

그러나 터미널을 통해 Tomcat을 정상적으로 시작할 수 있으며이 문제는 Eclipse ( 웹 개발자 용 Eclipse Java EE IDE. 버전 : Juno Service Release 1 Build id : 20121004-1855 )에서 발생합니다.

해결책을 찾기 위해 여러 포럼을 샅샅이 뒤졌지만 소용이 없었습니다! 도움이 필요한 사람을 도와주세요.


이 문제를 해결하려면 .snap다음 디렉터리에 있는 파일 을 삭제해야 합니다.

<workspace-directory>\.metadata\.plugins\org.eclipse.core.resources

이 파일을 삭제하면 문제없이 Eclipse를 시작할 수 있습니다.


  1. Windows →보기 표시 → 서버 메뉴에서 서버 탭을 엽니 다.

  2. 서버를 마우스 오른쪽 버튼으로 클릭하고 삭제하십시오.

  3. 새로 만들기 → 서버 탭의 서버로 이동하여 새 서버를 만듭니다.

  4. "런타임 환경 구성…"링크를 클릭하십시오.

  5. Apache Tomcat v7.0 서버를 선택하고 제거하십시오. Tomcat 서버 구성이 제거됩니다. 이것은 많은 사람들이 실수하는 곳입니다. 그들은 서버를 제거하지만 런타임 환경을 제거하지는 않습니다.

  6. 확인을 클릭하고 지금 위의 화면을 종료하십시오.

  7. 아래 화면에서 Apache Tomcat v7.0 서버를 선택하고 다음 버튼을 클릭합니다.

  8. Tomcat 설치 디렉토리 찾아보기

  9. 다음을 클릭하고 배포 할 프로젝트를 선택합니다.

  10. 프로젝트 추가 후 완료를 클릭하십시오.

  11. 이제 서버를 시작하십시오. 이렇게하면 서버 시간 초과 또는 이전 서버 구성의 문제가 해결됩니다. 이 솔루션은 "포트 업데이트가 발생하지 않음"문제를 해결하는데도 사용할 수 있습니다.


이 문제를 해결하려면 다음 디렉터리에서 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>

이제 서버가 제대로로드됩니다. 이상한.


localhost의 Server Tomcat v7.0 서버를 시작하지 못했습니다.

이 오류는 다음 세 가지 경우에 해결됩니다.

1. 프로젝트 및 서버 정리

또는

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>

이유:

서블릿 3.0을 지원하는 아파치 톰캣 7.0을 사용합니다.

Java EE 주석을 사용하면 표준 web.xml 배포 설명자는 다음과 같습니다.

선택 과목. 서블릿 3.0 사양에 따르면

http://jcp.org/en/jsr/detail?id=315


필자의 경우 문제는 web.xml 파일에 있었는데, url 패턴 앞에 "/"(예 : /login.do)를 붙이는 것을 잊었습니다.

내 문제를 해결 한 것은 위에서 @ Ajak6에서 언급했듯이 서블릿 API를 프로젝트의 외부 JAR 라이브러리로 추가하는 것입니다.

그러나 다음과 같이 대상 런타임에 Tomcat을 추가하여 더 나은 방법을 찾았습니다.

1) 프로젝트> 속성

2) 사이드 메뉴에서 "Targeted runtimes"를 선택합니다.

3) Tomcat 선택 (적용 클릭)

4) 확인을 클릭하십시오.


위에서 언급 한 답변 중 어느 것도 나를 위해 일하지 않았습니다. Eclipse IDE에서 Tomcat 9를 사용하고 있습니다. 따라서 Eclipse Neon에서 다음 단계를 시도했습니다.

1 단계 :Servers 탭을 클릭 하여 서버를 확인합니다. 제 경우에는 다음과 같이 보입니다.

여기에 이미지 설명 입력

단계 # 2 : 서버를 마우스 오른쪽 버튼으로 클릭하고을 선택 Properties하면 다음 창이 표시됩니다. 를 클릭 Switch Location하면 기본 위치에서 아래 이미지에 표시된 위치로 변경됩니다.를 클릭 Apply한 다음 OK창을 닫습니다.

여기에 이미지 설명 입력

단계 # 3Overview 아래 이미지와 같이 옵션 이 열리는 Tomcat 서버를 두 번 클릭 합니다. 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>. 끝난.


나는 내 바람둥이 서버에서 같은 문제가 있었지만 깊이 확인했을 때 내 web.xml 파일에 새 태그를 추가하고 서버가 그것을 수락하지 않는다는 것을 발견 했으므로 파일을 확인하여 업데이트가 발생했는지 확인한 다음 바람둥이를 다시 시작하십시오. 좋을 것이다 .


모든 것이 1 초 동안 잘 작동했고 내 서버가이 오류를주기 시작했습니다. 여기에 언급 된 모든 답변을 살펴 봤고 저에게 도움이 된 것은이 간단한 솔루션이었습니다.

서버 삭제 후 새 서버 구성

아무것도 변경하지 않았고 오류가 방금 팝업되었다고 확신하는 경우 .snap 파일 또는 기타 임시 파일 삭제를 시작하지 마십시오. 그렇게하면 더 많은 문제가 발생할뿐입니다. 그리고 사용자가 변경 한 일부 오류로 인해 오류가 발생한 경우이 오류는 분명히 web.xml 파일의 일부 오류 때문일 것입니다.

추신 : 작업 공간을 변경하면 전혀 효과가 없습니다. 문제가 프로젝트에있는 경우 프로젝트를 가져올 때 새 작업 공간에서 계속 발생하기 때문입니다!


서버 콘솔에서 기존 tomcat 서버를 삭제하십시오. 콘솔이없는 경우 "Show view-> server"로 이동 한 다음 서버를 마우스 오른쪽 버튼으로 클릭하여 삭제할 수 있습니다. 새 서버를 추가하면 확실히 도움이 될 것입니다.


나는 똑같은 문제가 있었고 여기에 대답하지 않은 것이 내 사건에 도움이되었습니다. 그래서 몇 시간의 검색 끝에 나는 해결책을 찾았고 다른 사람에게 도움이되기를 바랍니다.

이것은 "로컬 호스트에서 서버 Tomcat v7.0 서버를 시작하지 못했습니다."를 얻는 모든 사용자를위한 솔루션입니다. Eclipse에서 Tomcat 서버를 구성하고 프로젝트를 실행하려고 한 후 오류가 발생했습니다.

eclipse에서 tomcat 서버를 구성한 후에는 tomcat에서 "WEB-INF"디렉토리를 복사해야합니다. C : \ ... % TOMCAT_HOME % \ webapps \ ROOT 및 "WEB-INF"는 이클립스 프로젝트의 WebContent 폴더에 복사하여 붙여 넣기 만하면됩니다 (web.xml 파일 덮어 쓰기).

도움이 되었기를 바랍니다.


제 경우에는 servlet-api.jar을 찾을 수 없다는 오류가 발생했습니다. 왜 갑자기 오류가 발생하기 시작했는지 모르겠습니다. 이전에는 아무 문제없이 실행 되었기 때문입니다. 빌드 경로 옵션에 servlet-api.jar를 제공 한 후 서버가 성공적으로 시작되었습니다.


1- 작업 공간 디렉토리».metadata».plugins»org.eclipse.wst.server.core 폴더로 이동합니다.

2- tmp 폴더를 삭제하십시오.

3- Eclipse IDE 다시 시작


내 이클립스 작업 공간에서 아래 단계를 수행하여 해결되었습니다. 창-> 환경 설정-> 네트워크 연결-> '활성 공급자'를 '기본'대신 '직접'으로 변경하십시오. 시도해 볼 수 있습니다.


이번 주말에 비슷한 문제에 직면했습니다. 위에서 언급 한 모든 트릭을 시도했지만 그중 어느 것도 저에게 효과가 없었습니다. (Eclipse LUNA에서 작업)

그런 다음 특정 서블릿을 만들기 직전에 Apache Tomcat v7.0을 성공적으로 실행하고 있음을 분석했습니다. 아래와 같이 "RefreshServlet"은 다음과 같습니다.

RefreshServlet.java

그래서 서블릿을 연습하여 "AutoRefresh"기능을 이해합니다. 내 응용 프로그램에서이 서블릿을 제거하면 제대로 작동하지만이 서블릿을 추가하고 실행하려고하면 "Apache Tomcat v7.0을 시작하지 못했습니다"라는 오류가 표시됩니다.

Don't know why, but only removing this servlet works fine for me to run the rest of my application.

So, the bottom line suggestion from me would be that if not any other trick is working, then try removing any latest servlet or any class you just created before getting this error and it may work fine for you too for the rest of the application.

Any further explanation would be appreciated. Thanks


Check your web descriptor (web.xml) or on your servlets (Where you annotate, check sor something like '@WebServlet("/servlet_name")') for any duplicates.If any, remove them.


In my case I did deploy my tomcat folder (the one having all files in it) into an other place.

Then when I started eclipse and tried to run my project with jsp's and servlets I got this same error.

I tried all the answers here but it still didn't change anything. The solution for me was to put all tomcat JAR files into the project librarie like so:

  1. Go to Eclipse
  2. Right click on the project you work on > Build Path > Configure Build Path... > Libraries > Add External JARs
  3. select all JAR files from the Tomcat/bin and Tomcat/lib
  4. Press "Ok"

Now you should find them in the Libraries folder of your project and then it should work.


You can right click on apache-tomcat, choose properties, click Restore Default.


In my case the problem was caused by a syntax error in the arguments being passed. I had a space between the key & value when using '-D'

i.e.

-DMyArg= MyValue

instead of

-DMyArg=MyValue

double click on apache server in eclipse server tab. now change tomacat admin port to 8010, http port change to 8082 and Ajp port change to 8011.


If all given answer are not working for you then just change your current workspace.

file-> switch worksspace

It would be solve your problem.


In my case, the issue was with another instance of Tomcat was running. I stopped it from services and the issue got resolved


After trying all above mentioned steps , issue was not resolved.

Finally it resolved with below steps.

1- Check .log file inside your work space directory. Issue with Java Version

"Caused by: java.io.IOException: Cannot run program "C:\jdk1.7.0_45\bin\java": CreateProcess error=193, %1 is not a valid Win32 application at java.lang.ProcessBuilder.start(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at org.eclipse.debug.core.DebugPlugin.exec(DebugPlugin.java:869) ... 80 more

Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source)"

I have installed correct OS compatible JDK and issue was resolved. PS: I have explicitly set JDK path through eclipse (Window->preference->installed JRE )but after setting correct JDK path ,it work fine for me.


1st check in your Web.xml that there are multiple < servlet mapping > tags with different names If so Delete the unwanted ones and Run.. This should work fine

OR

To resolve this issue, you have to delete the .snap file located in the directory .

Goto your Workspace of Eclipse which you are UsingPath --> workspace.metadata.plugins\org.eclipse.core.resources\snapfile

Delete the snap file.

After deleting this file, Delete the Tomcat Server Then also Delete the Server runtime which is selected as Apache tomcat. Then Add Server again and Goto Project-->Properties-->Project Facets-->Right side you will find Details and Runtimes Tabs. Click Runtimes and Check the box of Apache which is already there(If not exist add it)

Change port numbers and Run it.


try removing all your project's dependencies from maven local repository(.m2).

Path : C:\Users\user_name\.m2\repository

close eclipse and open again it'll automatically download all the dependencies.


I solved my problem by closing all other projects in eclipse simply.


여기에 이미지 설명 입력

Consider cleaning your poject before running the servelet. This will delete all the corrupted files.

참고 URL : https://stackoverflow.com/questions/13244233/server-tomcat-v7-0-server-at-localhost-failed-to-start-without-stack-trace-whi

반응형