카테고리 없음

Spring 서버를 시작할 수 없습니다.

기록만이살길 2021. 2. 21. 07:00
반응형

Spring 서버를 시작할 수 없습니다.

1. 질문(문제점):

얼마 전에 Spring 프로젝트가 있습니다. 내 이전 서버에서 완벽하게 실행됩니다. 그러나 더 현대적인 서버에서는 실행할 수없는 것 같습니다. 이것은 내가 실행할 때 얻는 것입니다 mvn spring-boot:run.

 path resource [org/springframework/boot/autoconfigure/web/EmbeddedServletContainerAutoConfiguration$
EmbeddedTomcat.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.boot.autoconfigure.web.ServerProperties org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration.properties; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverProperties' defined in class path resource [org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/ValidationException: javax.xml.bind.ValidationException ->

Maven을 사용하고 있으며 여기에 pom.xml종속성이 있습니다.

<parent>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>1.3.5.RELEASE</version>
        </parent>

        <dependencies>
        <dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.3</version>
    <optional>true</optional>
</dependency>
                <dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpcore</artifactId>
    <version>4.4.6</version>
    <optional>true</optional>
</dependency>
<dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
        <optional>true</optional>
</dependency>
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-web</artifactId>
      <optional>true</optional>
                </dependency>

                <dependency>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                        <version>4.11</version>
      <optional>true</optional>
                </dependency>

        </dependencies>

크지 pom.xml만 다소 중복됩니다.

2. 해결방안:

JDK 9 이상은 JDK에서 일부 XML 패키지를 제거했습니다. 아마도 이전 서버는 이러한 패키지가 포함 된 JDK 8에서 실행 중이었을 것입니다. JDK 11에서 애플리케이션을 실행하고 있으므로 지금 종속성으로 추가해야합니다. 종속성에 이것을 추가하면 문제가 해결됩니다.

<!-- API, java.xml.bind module -->
<dependency>
    <groupId>jakarta.xml.bind</groupId>
    <artifactId>jakarta.xml.bind-api</artifactId>
    <version>2.3.2</version>
</dependency>

<!-- Runtime, com.sun.xml.bind module -->
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.3.2</version>
</dependency>
65926204
반응형