Lombok 1.18.2 no funciona con Maven y JDK 10

Shannon:

Lombok no está creando los getters / setters cuando intento compilar mi Java JDK bajo Projekt 10.

La clase que utiliza anotaciones Lombok.

package com.testcompany.data;

import java.util.HashMap;
import java.util.Map;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class DataInfo {
    private Map<String,String> metadata = new HashMap<>();
    private String extractedString;
}

Uso de la clase anotada Lombok

String test = dataInfo.getExtractedString();

Estoy usando las versiones siguientes para compilar mis fuentes para java 10:

  • experto (3.5.4)
  • Maven-compilador-plugin 3.8.0
  • Java 10 (subversión 2)
  • 1.18.2 Lombok

pom.xml en la sección dependencia

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>${lombok.version}</version>
    <scope>provided</scope>
</dependency>

y en la sección compilador-plugin maven

<annotationProcessorPaths>
    <path>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
    </path>
</annotationProcessorPaths>

cuando a través de compilación mvn instalar me sale el siguiente error:

MemberRegistration.java:[50,36] cannot find symbol
  symbol:   method getExtractedString()
  location: variable dataInfo of type com.testcompany.data.DataInfo

¿Hay algo que necesito hacer diferente cuando se utilizan JDK 10?

Shannon:

¡Gracias a todos! El principal problema era, que he usado el compilador argumento " -proc: ninguno ", que significa "la compilación se lleva a cabo sin el proceso de anotación ...". Así que me quita este argumento. Al lado de esto, también se recomienda, utilizar los siguientes argumentos del compilador (ver compilerArgs sección):

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.0</version>
  <configuration>
    <source>10</source>                                                
    <target>10</target>                                                
    <release>10</release>                                              
    <executable>javac10</executable>
    <fork>false</fork>                            
    <encoding>UTF-8</encoding>
    <!-- see https://github.com/rzwitserloot/lombok/issues/985#issuecomment-356135454 -->
    <compilerArgs>
        <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
        <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
        <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
        <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
        <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
        <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
        <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
        <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
        <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
        <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED</arg>
    </compilerArgs>
    <annotationProcessorPaths>
      <path>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.2</version>
      </path>
    </annotationProcessorPaths>
    <showWarnings>true</showWarnings>
  </configuration>
  <dependencies>                                                         
    <dependency>                                                       
      <groupId>org.ow2.asm</groupId>                                 
      <artifactId>asm</artifactId>                                   
      <version>6.2</version>
    </dependency>                                                      
  </dependencies>
  </plugin>
<plugin>

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=210146&siteId=1
Recomendado
Clasificación