programing

spring-boot-maven-plugin과 maven-compiler-plugin의 차이점은 무엇입니까?

closeapi 2023. 8. 29. 20:38
반응형

spring-boot-maven-plugin과 maven-compiler-plugin의 차이점은 무엇입니까?

사이의 차이를 모르겠습니다.spring-boot-maven-plugin그리고.maven-compiler-plugin.

   <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

그게 말이 됩니까?Spring Boot Maven Plugin의 기능은 다음과 같습니다.maven-compiler-plugin?

그냥 사용합니다.Spring Boot Maven Plugin괜찮습니까, 플러그인 2개를 추가할 필요가 없습니까?

"스프링 부트 메이븐 플러그인은 메이븐에서 스프링 부트 지원을 제공하여 실행 가능한 병 또는 전쟁 아카이브를 패키지화하고 애플리케이션을 "인플레이스"로 실행할 수 있습니다."

"메이븐 컴파일러 플러그인은 프로젝트의 소스를 컴파일하는 데 사용됩니다."

maven-volution-volution에는 두 가지 목표가 있습니다.두 단계 모두 이미 메이븐 라이프사이클 내에서 적절한 단계에 바인딩되어 있으므로 각 단계에서 자동으로 실행됩니다.

컴파일러:compiler는 컴파일 단계에 바인딩되어 있으며 주 소스 파일을 컴파일하는 데 사용됩니다.컴파일러:testCompile 테스트 컴파일 단계에 바인딩되어 테스트 소스 파일을 컴파일하는 데 사용됩니다.

메이븐 빌드 라이프사이클에 대한 자세한 내용은 http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference 를 참조하십시오.

광란의 광기 어린 말투 -

  • -source 및 -target javac 옵션을 사용하여 소스 코드를 컴파일하려면 다음과 같이 하십시오.
  • 다른 JDK를 사용하여 소스 코드를 컴파일하려면 다음과 같이 하십시오.
  • 메모리 할당 향상을 사용하여 소스 코드를 컴파일하려면 다음과 같이 하십시오.
  • 컴파일러 인수를 전달하는 방법

소스 및 대상 버전을 정의하는 데 가장 일반적으로 사용됩니다.경우에 따라 특정 프로젝트를 현재 사용 중인 버전과 다른 버전으로 컴파일할 수 있습니다.javac은 -source를 사용하여 이러한 명령을 수락할 수 있으며 -target.maven-compiler-plugin도 컴파일 중에 이러한 옵션을 제공하도록 구성할 수 있습니다.

예를 들어 Java 8 언어 기능(-source 1.8)을 사용하고 컴파일된 클래스가 JVM 1.8(-target 1.8)과 호환되도록 하려면 플러그인 매개 변수의 기본 속성 이름인 다음 두 가지 속성을 추가할 수 있습니다.

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>

또는 플러그인을 직접 구성합니다.

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>

기술적으로 실행 가능한 jar를 생성해야 할 경우 spring-boot-maven-plugin과 maven-compiler-plugin을 함께 사용할 수 있으며 소스 및 대상 코드에 특정 버전이 있는지 확인할 수 있습니다(maven-compiler-plugin 포함).

저 같은 경우에는.나는 조합해서 사용하지 않았지만 내 자바 프로젝트가 마이크로 서비스 등으로 실행되어야 하는 스프링 부트 앱일 때 우리는 빌드 출력으로 실행 가능한 jar가 필요해서 스프링 부트 메이븐 플러그인(만)을 사용했지만 다른 외부 앱에서 스프링 빈 또는 구성 요소로 구성되고 스프링 지원 라이브러리로 사용될 나의 다른 자바 프로젝트는 but.직접 실행할 필요는 없지만 소스 및 대상 버전이 지정되어 있는지 확인하고 일반 "mvn 패키지" 생성 jar가 작동해야 합니다.해당 메이븐 컴파일러 플러그인(만)이 작업을 수행해야 합니다.

언급URL : https://stackoverflow.com/questions/57687485/whats-the-difference-between-spring-boot-maven-plugin-and-maven-compiler-plu

반응형