0
0

More than 3 years have passed since last update.

【Lombok】GradleでLombokを導入しようとしたらコンパイルエラー

Posted at

GradleでLombokを導入、実行しようとしたらエラーが発生した

Annotationを書くことでJavaのBoilerplateを省略してくれるLombokを試してみようとしたところ、コンパイルエラーになったので、その解決法です。

ソースコード

java
import lombok.*;

public class LombokDemo {
    public static void main(String[] args) {
        Human aoi = new Human("aoi", 22);
        Human ryo = new Human();
        ryo.setName("ryo");
        ryo.setAge(21);

        System.out.println(aoi);
        System.out.println(ryo);
    }
}

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
class Human {
    private String name;
    private int age;
}
build.gradle(dependencies)
dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.20'
}

実行結果(Before)

terminal
C:\project_pass\src\main\java\LombokDemo.java:3: エラー: クラス Humanのコンストラクタ Humanは指定された型に適用できません。
        Human aoi = new Human("aoi", 22);
                    ^
  期待値: 引数がありません
  検出値: java.lang.String,int
  理由: 実引数リストと仮引数リストの長さが異なります

原因

build.gradleにはLombokに関する依存をもう一つ書かなければならなかった。

build.gradle(dependencies)
dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.20'
    annotationProcessor 'org.projectlombok:lombok:1.18.20'
}

実行結果(After)

terminal
> Task :LombokDemo.main()
Human(name=aoi, age=22)
Human(name=ryo, age=21)

感想

公式サイトはしっかり見ましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0