복붙노트

[SPRING] javax.servlet.ServletException : Jetty, JSR-356 지원을 사용할 수 없음

SPRING

javax.servlet.ServletException : Jetty, JSR-356 지원을 사용할 수 없음

Tomcat 인스턴스에 전쟁을 배포하는 동안 문제가 발생했습니다.

Tomcat 버전 정보,

D:\Kiran\Kiran\Softwares DH\Webservers\apache-tomcat-7.0.63\bin>version.bat
Using CATALINA_BASE:   "D:\Kiran\Kiran\Softwares DH\Webservers\apache-tomcat-7.0.63"
Using CATALINA_HOME:   "D:\Kiran\Kiran\Softwares DH\Webservers\apache-tomcat-7.0.63"
Using CATALINA_TMPDIR: "D:\Kiran\Kiran\Softwares DH\Webservers\apache-tomcat-7.0.63\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.7.0_07"
Using CLASSPATH:       "D:\Kiran\Kiran\Softwares DH\Webservers\apache-tomcat-7.0.63\bin\bootstrap.jar;D:\Kiran\Kiran\Softwares DH\Webservers\apache-to
mcat-7.0.63\bin\tomcat-juli.jar"
Server version: Apache Tomcat/7.0.63
Server built:   Jun 30 2015 08:08:33 UTC
Server number:  7.0.63.0
OS Name:        Windows 7
OS Version:     6.1
Architecture:   amd64
JVM Version:    1.7.0_07-b11
JVM Vendor:     Oracle Corporation
D:\Kiran\Kiran\Softwares DH\Webservers\apache-tomcat-7.0.63\bin>

POM 종속성 :

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

나는 Maven 플러그인을 사용하여 전쟁을 만들었고 바람둥이 7에 배치하려고 시도했다. 나는 배치 할 수 있었지만 webapp를 시작할 수 없었다. 로그를 찾았을 때 stacktrace 아래에,

SEVERE: Error during ServletContainerInitializer processing
javax.servlet.ServletException: Not running on Jetty, JSR-356 support unavailable
    at org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer.onStartup(WebSocketServerContainerInitializer.java:146)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5520)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1322)
    at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:694)
    at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:217)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

어떤 도움을 주시면 감사하겠습니다. 고맙습니다.

편집하다 :

STS를 사용하여 응용 프로그램을 실행할 때 잘 실행됩니다.

해결법

  1. ==============================

    1.에 대한 검색 pom.xml

    에 대한 검색 pom.xml

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
    </dependency>
    

    그것을 제거하십시오.

  2. ==============================

    2.이 문제는 바람둥이와 응용 프로그램 항아리의 websocket 항아리에 대한 혼란으로 밝혀졌습니다. 나는 전쟁 파일에서 그것을 제거하고 그것은 일하기 시작했다.

    이 문제는 바람둥이와 응용 프로그램 항아리의 websocket 항아리에 대한 혼란으로 밝혀졌습니다. 나는 전쟁 파일에서 그것을 제거하고 그것은 일하기 시작했다.

    나는 다음과 같이 항아리를 제거하기 위해 maven plug in을 사용했다.

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
            <packagingExcludes>WEB-INF/lib/websocket-*.jar</packagingExcludes>
        </configuration>
    </plugin>
    

    문제를 일으키는 항아리는,

  3. from https://stackoverflow.com/questions/32202344/javax-servlet-servletexception-not-running-on-jetty-jsr-356-support-unavailabl by cc-by-sa and MIT license