2016-02-06 6 views
6

に失敗しました。私はIntelliJでアノテーション処理をオンにしました.IntelliJ IDEからエラーなしでビルドできますが、コマンドラインからビルドしようとするとビルドエラーが発生します。 Gradleがアノテーションを処理していないため、ゲッター/セッターとログ宣言を見つけることができないようです。プロジェクトは何のエラーもなく実行されます。Gradleのビルドが、私はbuild.gradleにロンボク島のための依存関係を追加しているJHipsterプロジェクトを持っているロンボク注釈付きクラス

コマンドライン:

./gradlew build 

エラー:

/Users/.../source/v4.0/src/main/java/com/.../service/MyService.java:145: error: cannot find symbol 
     log.info("Security Context: " + SecurityUtils.getCurrentUserLogin()); 
     ^
    symbol: variable log 
    location: class MyService 

エラー:

/Users/.../source/v4.0/src/main/java/com/.../service/MyService.java:105: error: cannot find symbol 
     myClass.setDescription(description); 
         ^
    symbol: method setDescription(String) 
    location: variable myClass of type MyClass 

サービスクラス:

import lombok.extern.slf4j.Slf4j; 
import org.springframework.stereotype.Service; 

@Service 
@Slf4j 
public class MyService {  
    public void someMethod(){ 
     log.debug("Security Context: " + SecurityUtils.getCurrentUserLogin()); 
     MyClass myCLass = new MyClass(); 
     myClass.setDescription(description); 
    } 
} 

のエンティティクラス:

import lombok.Getter; 
import lombok.NoArgsConstructor; 
import lombok.Setter; 
import javax.persistence.Entity; 
import javax.persistence.Table; 

@Entity 
@Table(name="t_juror_file_update") 
@Getter 
@Setter 
@NoArgsConstructor 
public class MyClass { 

    private String description; 

} 

私は時間のためにこれを理解しようとしているが、完全に立ち往生してきました。どんな助けもありがとう。

+0

あなたはSecurityUtilsクラスを投稿できますか? – Ethan

+0

SLF4Jにも依存しましたか? –

+1

EthanとRoelに感謝します。ゲッター/セッターとログ宣言のコンパイルエラーを表示するための詳細を追加しました。私はそれがSecureUtilsクラスに固有だとは思わない。 私はコンパイルグループを持っています: 'org.springframework.boot'、名前: 'spring-boot-starter-logging'がSLF4Jを提供しています。 –

答えて

11

アノテーションプロセッサとしてlombokを指定する必要があります。これを行うには、Jhipsterプロジェクトでbuild.gradleに以下を追加する必要があります。

apply plugin: 'net.ltgt.apt' 

dependencies {  
    provided "org.projectlombok:lombok:$lombokVersion" 
    apt "org.projectlombok:lombok:$lombokVersion" 

    /** ... */ 
} 

Jhipsterは、注釈処理にnet.ltgt.gradle:gradle-apt-pluginを使用します。

IntelliJの設定では、Enable annotation Processingを確認する必要があります。

詳細情報:Project Lombok - android instructions

+1

は問題を解決しました – WeMakeSoftware

関連する問題