springboot embedded tomcat 및 tomcat-
pom.xml에서 다음과 같은 선언문을 볼 수 있습니다.
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
....
보시다시피 spring-boot-boot-web과 tomcat-boot-web이 선언되었습니다.
spring-boot-boot-web에는 이미 Tomcat이 내장되어 있지 않나요?왜 일부 개발자는 여전히 boot-back-web과 함께 tomcat-back-back-back을 선언합니까?아니면 무슨 이유라도 있나요?
말씀하신 대로spring-boot-starter-web
를 포함합니다.spring-boot-starter-tomcat
여기서 확인하실 수 있습니다.
그spring-boot-starter-tomcat
를 포함합니다.tomcat-embed-core
여기서 확인하실 수 있습니다.
근데...tomcat-embed-core
포함하지 않다tomcat-embed-jasper
사실은요.tomcat-embed-jasper
에 대한 의존을 포함하는 사람tomcat-embed-core
여기서 확인하세요.
아무튼 그...tomcat-embed-jasper
로 마크되어 있다.provided
즉, 실행 시 JDK 또는 컨테이너가 의존관계를 제공할 것으로 예상됨을 나타냅니다.이 범위는 컴파일 및 테스트클래스 경로에서만 사용할 수 있으며 전이적이지 않습니다.
결론적으로,spring-boot-starter-web
에는 Tomcat Embedded Dependency가 포함되지만 Jasper Embedded Dependency는 포함되지 않으므로 별도로 선언해야 합니다.
또한 Spring IO Platform을 부모로 사용하면 의존관계를 쉽게 관리할 수 있습니다.자세한 내용은 제 투고를 참조해 주십시오.
도움이 됐으면 좋겠는데
jcgarcia의 대답에서 확장되었습니다.
spring-boot-maven-plugin은 제공되지만 전쟁으로 빌드할 때 ecj-3.12.3.jar tomcat-embed-jasper-8.5.23.jar라는 두 개의 jar가 추가됩니다.
Java 버전 17, Maven 버전 3.0.0 및 Package Jar에서 2022년에도 이 오류를 겪고 있는 분들에게.나도 방금 같은 문제에 부딪혔어. 비록 우리가 그 문제를 해결했지만<scope>Provided</scope>
Maven은 항아리를 집지 않는다.대신 이 기능을 완전히 해제하고 종속성을 추가한 후 Maven을 실행하여 종속성을 다시 설치합니다.확실히 고쳐질 거예요.따라서 pom.xml 파일은 다음과 같습니다.
부터
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
로.
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
언급URL : https://stackoverflow.com/questions/42154614/springboot-embedded-tomcat-and-tomcat-embed-jasper
'programing' 카테고리의 다른 글
Spring 4.1까지 사용 중인 Jackson Object Mapper를 입수하려면 어떻게 해야 합니까? (0) | 2023.03.16 |
---|---|
spring-boot에서 swagger-ui를 완전히 비활성화하는 방법(/swagger-ui.html은 404를 반환해야 함 (0) | 2023.03.16 |
스프링 테스트에서 보안되지 않은 URL에 대해 401 반환 (0) | 2023.03.16 |
MongoDB와카산드라 (0) | 2023.03.16 |
끌어서 놓기 정렬 가능한 ng:AngularJs에서 반복하시겠습니까? (0) | 2023.03.16 |