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

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

不言
풀어 주다: 2018-11-27 17:18:31
앞으로
3133명이 탐색했습니다.

이 글은 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:

<!--war包-排除内置tomcat-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
로그인 후 복사

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

<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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿