Spring Boot 는 Tomcat 6,Weblogic 10.3.6 에 배 치 됩 니 다.

필 자 는 Spring Boot 의 war 패 키 지 를 바탕 으로 Weblogic 10.3.6 에 발표 하여 실행 하려 고 하 는데 Weblogic 10.3.6 은 servlet 2.5 만 지원 하고 Spring Boot 가 지원 하 는 servlet 의 최저 버 전 은 2.5 이 며 Spring Boot 의 war 패 키 지 는 Weblogic 에 배치 할 수 없습니다.많은 자 료 를 조회 한 후에 필 자 는 Spring Boot 프로젝트 를 Weblogic 10.3.6 에 성공 적 으로 배치 했다.
 Tomcat 6 도 servlet 2.5 만 지원 하기 때문에 필 자 는 war 패 키 지 를 Tomcat 6 에 발표 하여 실행 하려 고 시도 했다(Weblogic 필자 컴퓨터 에 처음 설치 되 지 않 았 을 때).
 다음은 Spring Boot 를 Tomcat 6 에 배치 할 때 주의해 야 할 부분 입 니 다.먼저 Maven 을 사용 하여 자신의 Spring Boot 애플 리 케 이 션 을 만 들 었 는 지 확인 하고 Tomcat 6 가 설치 되 어 있 습 니 다.
Spring Boot 의 프로젝트 구 조 는 다음 과 같 습 니 다.
-|SpringBootDemo
--|src
---|main
----|java
----|resources
---|test
--|target
--|pom.xml
main 방법 소재 클래스 계승 ,configure 방법 덮어 쓰기:
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
 
    @Override
    protected SpringApplicationBuilder configure(
            SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }
 
	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

pom 에 다음 과 같은 의존 도 를 추가 합 니 다:

            org.springframework.boot
            spring-boot-legacy
            1.1.0.RELEASE
        

이 가방 은 github 의 이전 오픈 소스 항목 입 니 다.주소:
Spring Boot Support for Servlet 2.5
pom 파일 에 있 는 spring-boot-starter-web 의존 항목 에 의존 제 거 를 추가 하여 내 장 된 tomcat 패 키 지 를 제거 합 니 다.

            org.springframework.boot
            spring-boot-starter-web
            
                
                    org.springframework.boot
                    spring-boot-starter-tomcat
                
            
        

또는 다음 의존 도 를 직접 추가 하여 로 컬 개발 시 내 장 된 Tomcat 용 기 를 사용 하여 테스트 할 수 있 습 니 다.

    org.springframework.boot
    spring-boot-starter-tomcat
    provided

main 파일 에서 webapp\WEB-INF 디 렉 터 리 를 만 들 고 이 디 렉 터 리 에서 웹.xml 프로필 을 만 듭 니 다.파일 내용 은 다음 과 같 습 니 다.




    
        contextConfigLocation
        main          
    

    
        org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener
    


    
        appServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextAttribute
            org.springframework.web.context.WebApplicationContext.ROOT
        
        1
    

    
        appServlet
        /
    


이 작업 을 마 친 후 프로젝트 를 war 패키지 로 만들어 tomcat 의 webapps 디 렉 터 리 에 발표 하고 tomcat 를 시작 하면 됩 니 다.
tips:
 필 자 는 실행 중 Spring Boot 프로젝트 의 설정 파일 에 server.*시작 설정 속성 을 사용 하면 시작 할 때 오류 가 발생 할 수 있 음 을 발 견 했 습 니 다.따라서 Tomcat 6 에서 꼭 실행 해 야 한다 면,
설정 에 있 는 server.*시작 설정 을 설명 할 수 있 습 니 다.
 Spring Boot 가 실 행 될 때의 profiles 를 지정 하려 면 tomcat 설정 파일 에서 지정 할 수 있 습 니 다.%tomcathome%\bin\catalina.bat 파일 에(windows 환경 에서)다음 내용 을 추가 합 니 다:
set JAVA_OPTS="-Dspring.profiles.active=dev"

Spring Boot 는 Tomcat 6 에 성공 적 으로 배치 되 었 으 나 weblogic 에 배치 할 때 문제 가 있 을 수 있 습 니 다.Spring Boot 의 공식 문 서 를 조회 한 후에 다음 과 같은 수정 을 했 습 니 다.
main 방법 이 있 는 클래스 수정 입력:
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer implements WebApplicationInitializer {

}

굵 은 부분 은 새로 추 가 된 부분 이다.
또한 WEB-INF/디 렉 터 리 에 weblogic.xml 를 추가 해 야 합 니 다.내용 은 다음 과 같 습 니 다.


    
        
            org.slf4j
        
    

이 부분의 내용 은 Spring Boot:WAR 을 WebLogic 에 배포 하 는 것 을 참조 하 십시오.
위 와 같은 수정 을 한 후에 weblogic 10.3.6 에 배치 하 는 것 이 문제 가 될 수 있 습 니 다.이 유 는 weblogic 가 JPA 2 를 지원 하지 않 기 때 문 입 니 다.stackoverflow 에서 의 대답 을 조회 하 는 JPA Conflict with Hibernate and Weblogic 입 니 다. 후 다음 과 같은 변경 사항 을 만 듭 니 다.
수정.\\Oracle\\Middleware\\userprojects\\domains\localhost\\bin\set DomainEnv.cmd 파일
set "CURRENT_DIR=%cd%"

이 줄 뒤에 다음 내용 을 추가 합 니 다.
@REM Add JARs for JPA 2.0 at the front of the class path.
set WLS_MODULES=%WL_HOME%\..\modules
set PRE_CLASSPATH=%WLS_MODULES%\javax.persistence_1.0.0.0_1-0-2.jar;%WLS_MODULES%\com.oracle.jpa2support_1.0.0.0_2-1.jar

그 중의 javax.persistence1.0.0.0_1-0-2.jar 가방 및 com.oracle.jpa 2 슈퍼 port1.0.0.0_2-1.jar 가방 은 weblogic 10.3.6 자체 가방 으로 독자 가 자신의 weblogic 디 렉 터 리 에 있 는 가방 이름 에 따라 적당 하 게 교체 할 수 있 습 니 다.
이 작업 을 마 친 후 weblogic 를 시작 하여 war 를 weblogic 에 배치 하면 됩 니 다.
질문 이 있 으 시 면 직접 문의 하 세 요.소란 을 피 우 시 는 것 을 환영 합 니 다.0.0.

좋은 웹페이지 즐겨찾기