2017-06-13 10 views
3

を動作させる方法は、MavenプラグインはJPAのソース生成を処理することによって訴えるであろう。は、メソッドまたは変数がロンボクアノテーションを付けている場合QueryDSLとロンボクが一緒

私はコンソールログにこの種の障害を取得:

symbol: class __ 
location: class ServiceBaseMessage 
C:\workspaces\[...]\service\ServiceBaseMessage.java:44: error: cannot find symbol 
@Getter(onMethod = @__({ @JsonProperty("TYPE") })) 

JPAのアノテーションのためのapt-mavenの-プラグインとqueryDSLプロセッサの作り方は、ロンボクの注釈と一緒に動作しますか?

答えて

7

このソリューションは、私のために働きました。 あなたのapt-mavenの-プラグイン設定でlombok.launch.AnnotationProcessorHider$AnnotationProcessorを追加します。

<plugin> 
    <groupId>com.mysema.maven</groupId> 
    <artifactId>apt-maven-plugin</artifactId> 
    <executions> 
     <execution> 
      <goals> 
       <goal>process</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>target/generated-sources/java</outputDirectory> 
       <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor,lombok.launch.AnnotationProcessorHider$AnnotationProcessor</processor> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

Gradleのと同じように動作してもそうです: ここhttps://github.com/ewerk/gradle-plugins/issues/59#issuecomment-247047011

0

を参照すると、のGradleユーザー(macenユーザーは他の回答に見てください)

の構文です。

//これはプロジェクトに正しく追加された後、jpaプロセッサを設定します。

plugins { 
... 
    id 'io.franzbecker.gradle-lombok' version '1.7' 
} 
project.afterEvaluate { 

    project.tasks.compileQuerydsl.options.compilerArgs = [ 
      "-proc:only", 
      "-processor", project.querydsl.processors() + 
        ',lombok.launch.AnnotationProcessorHider$AnnotationProcessor' 
    ] 
} 

は、ここにプラグインによってインポートされている完全に動作するバージョン クエリDSLとlombockで、依存関係を宣言する必要はありません。

buildscript { 
    repositories { 
     mavenCentral() 
    } 
} 

plugins { 
    id 'io.franzbecker.gradle-lombok' version '1.7' 
    id "com.ewerk.gradle.plugins.querydsl" version "1.0.9" 
} 

querydsl { 
    jpa = true 
} 

// plugin needed so that the 
project.afterEvaluate { 
    project.tasks.compileQuerydsl.options.compilerArgs = [ 
      "-proc:only", 
      "-processor", project.querydsl.processors() + 
        ',lombok.launch.AnnotationProcessorHider$AnnotationProcessor' 
    ] 
} 
dependencies { 
    compile group: 'com.querydsl', name: 'querydsl-jpa', version: '4.1.3' 
} 
関連する問題