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?
¡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>