Spring Boot 애플리케이션을 WAR 파일로 패키징 및 배포

4764 단어 jettyspringjavatomcat
이 가이드에서는 다음을 수행하는 방법을 설명합니다.
  • Maven 기반Spring Boot 애플리케이션을 WAR 파일로 패키징
  • WAR 파일을 Apache Tomcat에 배포
  • WAR 파일을 Eclipse Jetty에 배포

  • Maven 기반 Spring Boot 애플리케이션을 WAR 파일로 패키징



    Spring Initializr 또는 Vaadin Start 도구를 사용하여 생성된 기반 Spring Boot 애플리케이션의 패키징을 변경하려면 pom.xml 파일에서 다음과 같이 변경하십시오.

    1. <packaging> 요소를 다음과 같이 수정합니다.

    <packaging>war</packaging>
    

    2. Apache Tomcat이 아닌 다른 서버에 배포하려는 경우:

    a) 프로젝트에 서블릿 API 종속성을 추가합니다. 프로젝트와 일치하는 버전을 사용해야 합니다. 예를 들어, 응용 프로그램의 경우:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    

    b) Spring MVC을 사용하는 경우 spring-boot-starter-tomcat에서 spring-boot-starter-web dependency 종속성을, 사용하는 경우 vaadin-spring-boot-starter 종속성을 제외하십시오. 예를 들어:

    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-spring-boot-starter</artifactId>
        <exclusions>
            ...
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    

    3. 선택 사항: WAR 파일의 이름을 단순화하고 항상 버전 번호 없이 동일한 이름의 파일을 빌드하려면 <build> 섹션에 다음을 추가합니다.

    <finalName>${project.artifactId}</finalName>
    

    4. mvn package 명령을 실행하여 애플리케이션을 빌드하고 패키징합니다. Vaadin을 사용하는 경우 프로덕션 프로필을 활성화합니다( mvn package -P production ). Maven 프로젝트 내의 target/디렉토리에서 WAR 파일을 찾을 수 있습니다.

    Apache Tomcat에 WAR 파일 배포



    Apache Tomcat의 로컬 인스턴스에 이전 섹션에서 구성된 애플리케이션을 배포하려면:
  • project website 에서 Apache Tomcat을 다운로드합니다. 애플리케이션에서 사용하는 Java 및 Servlet API 버전에 따라 correct version 을 다운로드해야 합니다. 예를 들어 Vaadin 애플리케이션의 경우 download Apache Tomcat version 9 .
  • 다운로드한 파일의 압축을 풉니다.
  • Apache Tomcat 설치 디렉토리 내의 bin/디렉토리에서 찾을 수 있는 start.sh 또는 start.bat 스크립트를 실행하여 서버를 시작하십시오. bin/디렉토리의 스크립트 파일에 실행 권한을 추가해야 할 수도 있습니다. 예를 들어 Unix 계열 운영 체제에서는 chmod +x bin/*.sh 를 실행합니다.
  • Maven 프로젝트 내의 target/디렉토리에서 Apache Tomcat 설치 디렉토리 내의 webapps/디렉토리로 WAR 파일을 복사합니다.
  • 응용 프로그램은 자동으로 배포되고 http://localhost:8080/your-war-file-name에서 사용할 수 있어야 합니다. 컨텍스트 루트에 배포하려면 ROOT.war을 사용합니다( http://localhost:8080/ ).

  • Eclipse Jetty에 WAR 파일 배포



    Eclipse Jetty의 로컬 인스턴스에 이전에 구성된 애플리케이션을 배포하려면:
  • project website 에서 Eclipse Jetty를 다운로드합니다. 애플리케이션에서 사용하는 Java 및 Servlet API 버전에 따라 올바른 버전을 다운로드해야 합니다. 예를 들어 Vaadin 애플리케이션의 경우 Eclipse Jetty 9를 다운로드합니다.
  • 다운로드한 파일의 압축을 풉니다.
  • Eclipse Jetty 10을 다운로드한 경우 Eclipse Jetty 설치 디렉토리 내에서 java -jar start.jar --add-module=server,http,deploy를 실행하여 서버를 구성하십시오.
  • Eclipse Jetty 설치 디렉토리 내의 bin/디렉토리에서 start.sh start를 실행하여 서버를 시작하십시오. chmod +x bin/*.sh 를 실행하여 bin/디렉토리의 스크립트 파일에 실행 권한을 추가해야 할 수도 있습니다.
  • Maven 프로젝트 내의 target/디렉토리에서 Eclipse Jetty 설치 디렉토리 내의 webapps/디렉토리로 WAR 파일을 복사하십시오.
  • 응용 프로그램은 자동으로 배포되고 http://localhost:8080/your-war-file-name에서 사용할 수 있어야 합니다. 컨텍스트 루트에 배포하려면 root.war을 사용합니다( http://localhost:8080/ ).
  • 좋은 웹페이지 즐겨찾기