>  기사  >  Java  >  springboot의 war 패키지와 jar 패키지에 대한 자세한 소개(코드 예시)

springboot의 war 패키지와 jar 패키지에 대한 자세한 소개(코드 예시)

不言
不言앞으로
2018-11-27 17:18:313034검색

이 글은 springboot의 war 패키지와 jar 패키지에 대한 자세한 소개(코드 예제)를 제공합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

이 기사에서 제가 공유하는 내용은 maven을 사용하여 springboot에서 war 패키지와 jar 패키지를 생성하는 것입니다. 일반적으로 말하면 war는 생성된 후 tomcat의 웹앱 아래에 직접 배치될 수 있지만 jar는 자동으로 압축을 풀도록 구성됩니다. 일반적으로 명령줄과 시작을 통해 배포됩니다.

우선 전쟁 패키지를 생성하는 방법을 연습해 보겠습니다. 이 과정은 3단계로 나눌 수 있습니다.

  • 프로그램 시작 변환

  • springboot에 내장된 tomcat 제외

  • spring-boot-maven-plugin 플러그인 구성 프로그램에서 프로그램 입구를 수정하려면 springboot의 기본 입구를 차단한 다음 SpringBootServletInitializer를 상속하고 구성 메서드를 다시 작성해야 합니다.

@SpringBootApplication
public class WebApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(WebApplication.class);
    }
//    public static void main(String[] args){
//
//    }
}

기본값인 springboot의 내장 tomcat을 제외합니다. 이 경우 war가 우리 서버의 tomcat으로 전송되어야 하기 때문에 springboot는 내장 tomcat과 통합됩니다. 필요하지 않습니다. 다음과 같이 Maven에서 보호를 구성할 수 있습니다.

여기서 범위 범위는 tomcat 패키지를 제외합니다. 범위의 기본 역할은 compile입니다.

spring-boot-maven-plugin 플러그인에서 프로그램 항목을 구성합니다. 위의 기본 항목을 차단했지만 Tomcat은 여전히 ​​시작 클래스가 입구로 사용되므로 mainClass가 필요합니다. to beconfigure to start:

b86990c77ec45bfad4c402ad0f859e24
b4b38e33757a6497aa8690936b905cc1
    05a8acc5c31084a4f61ade01873802caorg.springframework.boot192ca2f7b8c770b01c8f81e6bdd5b947
    9bc4cbb67f66e148869423c0d27e5f90spring-boot-starter-tomcatb68fb17cb904a46b73e6272850323873
    06db57cb000bdd2564c5b32a302b10e2provided03b1008234ba0cf6ad3c873aea327e8a
09a0e22e5aaafd848ae04665be625b91

마지막으로 참가 프로젝트의 패키징을 전쟁 유형으로 지정합니다

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <!--war包-执行程序入口 -->
    <configuration>
        <mainClass>com.platform.WebApplication</mainClass>
    </configuration>
</plugin>

위와 같이 준비가 완료되었습니다. 다음으로 maven만 패키지하면 됩니다. 생성 후 스크린샷은 다음과 같습니다.

war 패키지의 내용은 META-INF 및 WEB-INF 부분입니다. 일반적으로 Tomcat은 다음과 같은 경우 자동으로 압축을 풉니다. war 패키지를 구성하기 전에 여기에 API 인터페이스를 작성했는데 성공적으로 실행되면 브라우저에 정상적으로 표시됩니다.

다음 단계는 war 패키지 구축을 시작합니다. , 그러나 주석은 역방향으로 제거됩니다. 내용:

기본 항목을 복원합니다(수정 없이 springboot 템플릿에 의해 생성된 기본)

    Tomcat을 제외하는 구성을 제거합니다(이 구성은 기본적으로 포함되지 않습니다).
  • maven-jar-plugin 플러그인을 사용하여 패키지하고, 프로그램 입구와 다양한 포함|제외를 지정합니다.
  • 주로 전쟁을 위해 주석이 달린 주요 입구 작업을 위해 주 입구에 주석을 달지 않고 복원합니다. , springboot 템플릿은 기본적으로 이를 생성하는 데 사용됩니다.
  • 1 <packaging>war</packaging>

Tomcat 구성 제거 및 제외(기본적으로 이러한 구성은 없음), 이 단계에서는 전쟁을 위해 Tomcat을 제외하는 구성도 추가합니다. 직접 삭제하면 됩니다. , 삭제:

public static void main(String[] args) throws ParseException, Exception {
    SpringApplication springApplication = new SpringApplication(WebApplication.class);
    springApplication.setBannerMode(Banner.Mode.OFF);
    springApplication.run(args);
}

maven-jar-plugin 플러그인을 사용하여 프로그램 항목을 패키징하고 지정합니다. 그리고 다양한 포함 | 제외 항목은 여기서 jar 플러그인을 통해 일부 항목을 구성하고 구성 파일과 기본을 지정합니다. 항목:

<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-tomcat</artifactId>-->
<!--<scope>provided</scope>-->
<!--</dependency>-->

마지막으로 항목 프로젝트의 패키징을 전쟁 유형으로 지정합니다.

<!--打jar包-->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <archive>
            <manifest>
                <!--<addClasspath>true</addClasspath>-->
                <!--<classpathPrefix>lib/</classpathPrefix>-->
                <!--main入口-->
                <mainClass>com.platform.WebApplication</mainClass>
            </manifest>
        </archive>
        <!--包含的配置文件-->
        <!--<includes>-->
        <!--<include>*.yml</include>-->
        <!--<include>*.properties</include>-->
        <!--<include>templates/**</include>-->
        <!--<include>static/**</include>-->
        <!--<include>*.xml</include>-->
        <!--</includes>-->
    </configuration>
</plugin>

위 단계를 완료하면 그림과 같이 성공적인 jar 패키지를 볼 수 있습니다.

마지막으로 Linux에서 java -jar web-0.0.01.SN...jar을 통해 시작합니다.

위 내용은 springboot의 war 패키지와 jar 패키지에 대한 자세한 소개(코드 예시)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제