2017-06-17 64 views
1

./mvnw和MVN全新安裝加入龍目島的依賴時失敗,但來自的IntelliJ IDE推出 找到下面的錯誤,當成功運行:無法與龍目島建設的Maven jhipster項目

INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] src/main/java/web/rest/core/service/impl/ProductServiceImpl.java:[18,29] cannot find symbol 
    symbol: method builder() 
    location: class com.test.one.web.rest.core.model.Product 

這裏是POJO

import lombok.Builder; 
import lombok.Data; 

@Data 
@Builder 
public class Product { 
    private String name; 
} 
+0

你有你的POM文件中明確列出的其他任何註解處理器? –

+0

我會檢查你是否使用最新的Lombok版本,他們改變了一些東西,以便與其他註釋處理器(對於我認爲的mapstruct)更好地工作。另一方面,我會檢查你的IntelliJ是否有Lombok插件,但通常Maven構建工作並且IDE不會構建... ^^ – 5im

回答

2

Jhipster產生Maven項目使用annotationProcessorPaths在maven編譯插件,這就是爲什麼它不能查找最新的lombok,除非我們指定lombok作爲註釋處理器之一。

工作代碼如下。

<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-compiler-plugin</artifactId> 
<version>${maven-compiler-plugin.version}</version> 
<configuration> 
    <annotationProcessorPaths> 
     <path> 
      <groupId>org.mapstruct</groupId> 
      <artifactId>mapstruct-processor</artifactId> 
      <version>${mapstruct.version}</version> 
     </path> 
     <!-- For JPA static metamodel generation --> 
     <path> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-jpamodelgen</artifactId> 
      <version>${hibernate.version}</version> 
     </path> 
     <path> 
      <groupId>org.projectlombok</groupId> 
      <artifactId>lombok</artifactId> 
      <version>1.16.18</version> 
     </path> 
    </annotationProcessorPaths> 
</configuration> 

1

我設法與版本的以下組合的工作:

  • 個Maven的編譯器插件:3.3
  • 龍目島:18年1月16日(最新)

因此,例如,一個pom.xml:

<dependency> 
    <groupId>org.projectlombok</groupId> 
    <artifactId>lombok</artifactId> 
    <version>1.16.18</version> 
    <scope>provided</scope> 
</dependency> 

... 

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.3</version> 
</plugin>