일반적인 웹 프로젝트와 같이 Spring-Boot 프로젝트를 Tomcat 컨테이너에 게시하십시오.
1. 포장 양식을 수정하십시오
pom.xml에서 <packaging>war</packaging> 설정하십시오
2. 임베디드 Tomcat 플러그인을 제거하십시오
pom.xml에서 스프링 부트 스타터 -web 종속성 노드를 찾으려면 다음 코드를 추가하십시오.
<pectionency> <groupId> org.springframework.boot </groupid> <artifactid> 스프링 부트 스타터 -web </artifactid> <!-임베디드 Tomcat 플러그인을 제거합니다-> <제외> <cleprusion> <groupid> org.springframework.boot </groupict> spring-starater-starater-to-to-tom-to-to-tom-to-to-tom-to-to-to-tomatic </제외> </제외> </의존성>
3. Servlet-API 종속성을 추가하십시오
다음 두 가지 방법은 모두 정상입니다. 그 중 하나를 선택하십시오.
<pectionency> <groupId> javax.servlet </groupid> <artifactid> javax.servlet-api </artifactid> <bersion> 3.1.0 </version> <copop> 제공 </scope> </fectionency> <pectionency> <groupid> org.apache.tomcat </groupid> <artifactid> tomcat-servet-sepacti> <버전> 8.0.36 </version> <cope> 제공 </scope> </fectionency>
4. 시작 클래스 수정하고 초기화 방법을 다시 작성하십시오.
우리는 일반적으로 기본 방법을 사용하여 시작하고 앱 시작 클래스가 있으며 코드는 다음과 같습니다.
@SpringBootApplicationPublic Class Application {public static void main (String [] args) {springApplication.run (application.class, args); }}스프링 컨텍스트를 시작하려면 web.xml과 유사한 구성이 필요합니다. SpringBootStartApplication 클래스를 응용 프로그램 클래스의 동시 레벨에 추가하면 코드가 다음과 같습니다.
/** * 스타트 업 클래스 수정, SpringBootservleTinitializer를 상속 받고 구성 메소드를 덮어 쓰기 */public 클래스 SpringBootStartApplication SpringBootservleTinitializer {@override 보호 SpringApplicationBuilder 구성 (SpringApplicationBuilder Builder)을 확장합니다. Builder.sources (application.class); }}5. 패키지 및 배포
프로젝트 루트 디렉토리 (즉, pom.xml을 포함하는 디렉토리)에서 다음을 입력하십시오.
MVN Clean 패키지로 충분합니다. 포장이 완료 될 때까지 기다리십시오. [정보] 빌드 성공이 나타나고 포장이 성공적입니다.
그런 다음 대상 디렉토리에 전쟁 패키지를 Tomcat의 WebApps 디렉토리에 넣고 Tomcat을 시작한 다음 자동으로 압축을 내고 배포하십시오.
마지막으로 브라우저에 입력하십시오
http : // localhost : [포트 번호]/[패키지 프로젝트 이름]/
릴리스가 성공적이었습니다.
PS : SpringBoot War 패키지에 대한 솔루션을 살펴 보겠습니다. Tomcat 실행 시작 오류 (데이터베이스 유형에 대한 내장 데이터베이스 드라이버 클래스가 결정되지 않음).
우리 프로젝트는 항상 JAR 패키지에 의해 직접 운영되었습니다. 어제 동료는 Tomcat에서 그것을 운영하고 싶다고 말했기 때문에 오랫동안 운이 좋았습니다. 기사에서 소개하겠습니다. 필요한 친구는 클릭하여 볼 수 있습니다.
그런 다음 성공적으로 포장되어 로컬 Tomcat에 배치되어 시작했을 때 제목 오류를보고했습니다. 온라인으로 검색 한 후, 주석이 시작 클래스에 추가되었다고합니다 :@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class)
내 개인 테스트는 무효입니다.
해결책:
시작 클래스에 대한 주석 :@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) 개인 테스트에 유효합니다.