У меня есть приложение Spring-boot со следующими плагинами и зависимостями:
<!--...-->
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.8</version>
<scope>provided</scope>
</dependency>
<!--...-->
<build>
<finalName>service-api</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>attached</goal>
</goals>
<configuration>
<descriptors>
<descriptor>service-api.xml</descriptor>
</descriptors>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.alexecollins.docker</groupId>
<artifactId>docker-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
И текст 2 класса для тестирования ломбока в моем приложении:
import lombok.Data;
@Data
public class TestDto {
private String testStr;
}
И
public class TestCall {
public void testLombok() {
TestDto dto = new TestDto();
dto.setTestStr("My Test String.");
System.out.println(dto);
}
}
Итак, когда я запускаю spring -boot: run из плагина или даже простую команду mvn compile, у меня возникает следующая ошибка:
[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins: maven-compiler-plugin: 3.1: компиляция (компиляция по умолчанию) для проекта service-api: Ошибка компиляции: Ошибка компиляции: [ОШИБКА] D: \ Projects \? ????? \ service-api \ src \ main \ java \ TestCall.java: [7, -1] [ОШИБКА] 1. ОШИБКА в D: \ Projects \ ??????? \ service-api \ src \ main \ java \ TestCall.java (в строке 7) [ОШИБКА] dto.setTestStr ("Моя тестовая строка."); [ОШИБКА] ^^^^^^^^^^ [ОШИБКА] Метод setTestStr (String) не определен для типа TestDto [ОШИБКА] ---------- [ОШИБКА] 1 проблема (1 ошибка) [ERROR] [ERROR] Обнаружена 1 ошибка и 0 предупреждений.
Похоже, что функции lombok не работают в плагине spting. Однако, если я использую стандартный maven-compiler-plugin (версия 3.5.1), все работает правильно. Но пока мы хотим использовать встроенный контейнер Spring Boot, и мы не готовы менять рабочий процесс сборки. Можно ли что-то сделать с этой проблемой? Может, стоит включить какие-то особые зависимости или что-то в этом роде?
spring-boot:run
выводит приветствие, как и ожидалось. - person zapl   schedule 27.06.2016