복붙노트

[SPRING] Java 8 - 매개 변수 플래그로 Spring 부트 응용 프로그램을 컴파일하는 방법

SPRING

Java 8 - 매개 변수 플래그로 Spring 부트 응용 프로그램을 컴파일하는 방법

Spring 설명서에 따르면 Java 8 --parameters 플래그를 사용하여 프로젝트를 컴파일하면 @PathVariable과 같은 주석에 매개 변수 이름을 입력하지 않아도됩니다. 즉, 우리는 @PathVariable ( "id") id 대신에 @PathVariable id를 사용할 수 있습니다.

Spring Boot Maven 응용 프로그램에서 매개 변수 플래그를 사용하도록 컴파일러에 지시하는 방법을 알고 싶습니다. 기본적으로 켜져 있습니까? pom.xml에 뭔가를 제공해야합니까?

해결법

  1. ==============================

    1.스프링 부트 2.0에서는 기본적으로 --parameters 플래그가 활성화되어야합니다. yuranos87의 대답을 참조하십시오.

    스프링 부트 2.0에서는 기본적으로 --parameters 플래그가 활성화되어야합니다. yuranos87의 대답을 참조하십시오.

    이전 버전의 경우 pom.xml 파일에서 Java 컴파일러 옵션을 Maven 컴파일러 플러그인의 인수로 지정할 수 있습니다.

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <compilerArgs>
                <arg>-parameters</arg>
            </compilerArgs>
        </configuration>
    </plugin>
    
  2. ==============================

    2.내 프로젝트에서 명시 적으로해야 할 필요가 있다는 것을 기억하지 못합니다. 어쩌면 spring-boot-startter-parent를 추가해야 할 필요가있을 것입니다 (저는 알고 있습니다, 때때로 옵션이 아닐 수도 있음). 그렇지 않으면, Spring은 이미 당신을 위해 모든 것을 돌 보았습니다.

    내 프로젝트에서 명시 적으로해야 할 필요가 있다는 것을 기억하지 못합니다. 어쩌면 spring-boot-startter-parent를 추가해야 할 필요가있을 것입니다 (저는 알고 있습니다, 때때로 옵션이 아닐 수도 있음). 그렇지 않으면, Spring은 이미 당신을 위해 모든 것을 돌 보았습니다.

    Spring Boot 문서에 여러 번 언급되어있다. 예를 들면 다음과 같습니다.

    최신 정보

    Spring Boot가하는 일은 아주 간단합니다 (spring-boot-parent 및 spring-boot-starter-parent poms).

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <parameters>true</parameters>
                </configuration>
            </plugin>
    
  3. from https://stackoverflow.com/questions/31845676/how-to-compile-spring-boot-applications-with-java-8-parameter-flag by cc-by-sa and MIT license