programing

기존 스프링 부트 앱에서 내장된 Tomcat 버전을 변경하는 방법은 무엇입니까?

abcjava 2023. 8. 24. 21:45
반응형

기존 스프링 부트 앱에서 내장된 Tomcat 버전을 변경하는 방법은 무엇입니까?

현재 실행 중입니다.spring-boot version 1.4.0.RELEASE내장된 Tomcat이 있는 응용 프로그램입니다.포함된 Tomcat 버전은8.5.4

Tomcat 버전을 업데이트해야 합니다.9.x여기서 mvnrepository를 살펴보니 tomcat 버전에 사용할 수 있는 업데이트가 있습니다.9.0.5(아래 그림 참조)

enter image description here

내 프로젝트에서 이 버전을 직접 언급할 방법이 없는 경우 이 버전을 어떻게 사용해야 합니까?pom.xml?

기존 배포 경로(외부 Tomcat의 WAR 아티팩트)를 사용하고 싶지 않습니다.

스프링 부트 그래들 플러그인 및 스프링 부트 스타터를 사용하는 경우..build.gradle에서 maven 프로젝트 속성을 설정하여 버전을 사용자 지정할 수 있습니다.

ext['tomcat.version'] = '9.0.45'

맹세코

<properties>
    <tomcat.version>9.0.45</tomcat.version>
<properties>

스프링 부팅 종속성에서 사용자 지정할 수 있는 모든 외부 종속성을 찾을 수 있습니다.

제가 아는 파티에 늦게 와서, 비슷한 문제를 찾고 있었습니다. 좀 더 문자 그대로의 힌트를 공유하려고 생각했습니다.

스프링의 부모 폼에 설정된 속성(이것은 필수 사항)을 사용자의 경우(및 호환성에도 해당)에 재정의해야 합니다.

<properties>
......
    <tomcat.version>9.0.5</tomcat.version>
......
<properties>

이것은 [봄 소개][1]에 따른 것입니다.그들의 예는 많은 다른 의존성을 보여줍니다.: http://www.springboottutorial.com/spring-boot-starter-parent

Formaven 프로젝트

<properties>
  ...
  <tomcat.version>8.0.53</tomcat.version>
</properties>

<dependencyManagement>
        <dependencies>
         <!-- NON-INFORMATIVE -->
         <!--   <dependency>
                <groupId>io.spring.platform</groupId>
                <artifactId>platform-bom</artifactId>
                <version>${bom.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>   -->
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-core</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-el</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

빌드 Gradle에 ext 버전을 추가하여 버전을 변경한 후 응용 프로그램을 실행하려고 하면 오류 발생: ...nested 예외는 java.lang입니다.NoSuchMethodError: org.apache.catalina.Context.addServlet 매핑(Ljava/lang/String)

언급URL : https://stackoverflow.com/questions/49192295/how-to-change-embedded-tomcats-version-in-existing-spring-boot-app

반응형