66

lombok を使用する Gradle ベースのプロジェクトがあります。このプロジェクトを IntelliJ IDEA 14.1 にインポートしました (外部モデルのインポート インポート メソッドを使用)。Gradle では問題なく JUnit4 単体テストを実行できますが、IntelliJ では Lombok によって生成された Getter の表示に問題があるようです。これにより、IDEA でテストを実行できません。

セットアップの問題ではないことを確認するために、非常に単純なプロジェクトを作成し、単純なテスト プロジェクトで同じ問題が発生することを確認しました。

私のバージョン: Gradle: Gradle ラッパー
Intellij IDEA 経由の gradle-2.3-all: IU-141.713
Lombok プラグイン: 0.9.2

ここで何が欠けていますか?

Update By cannot see物理的に見えないという意味ではありません。私はこれを意味します:

/home/meeee/workspace/junit-lombok-idea/lib/src/main/java/com/example/jumbokea/Main.java
Error:(10, 11) java: cannot find symbol
  symbol:   method setIntField(int)
  location: variable sc of type com.example.jumbokea.SomeClass
Error:(12, 41) java: cannot find symbol
  symbol:   method getIntField()
  location: variable sc of type com.example.jumbokea.SomeClass
Error:(14, 33) java: constructor AnotherClass in class com.example.jumbokea.AnotherClass cannot be applied to given types;
  required: no arguments
  found: float,com.example.jumbokea.SomeClass
  reason: actual and formal argument lists differ in length
Error:(16, 46) java: cannot find symbol
  symbol:   method getSomeFloat()
  location: variable ac of type com.example.jumbokea.AnotherClass
Error:(17, 43) java: cannot find symbol
  symbol:   method getSomeClass()
  location: variable ac of type com.example.jumbokea.AnotherClass

逆コンパイルされたクラスにはゲッターとセッターが表示されますが、IntelliJ で「アプリ」または単体テストを実行すると、これらのエラーが発生します。

ゲッターとセッターはありますが、ありませんか???

4

10 に答える 10

100

注釈プリプロセッサを有効にする必要があります。 こちらのドキュメントを参照してください

さらに、まだ行っていない場合は、lombok プラグインをインストールする必要があります。

于 2015-05-01T18:06:28.950 に答える
8

これは、ビルド フォルダーで確認できます。

ここに画像の説明を入力

于 2015-05-01T05:45:16.520 に答える
4

他の回答で述べたように、Lombokプラグインをインストールして注釈プロセッサを有効にしてください。SHIFTIntelliJ で2 回押しEnable annotation processingて、検索ボックスに入力します。その後、ボックスにチェックを入れて IDE を再起動します。

ここに画像の説明を入力

ここに画像の説明を入力

于 2019-03-01T16:54:06.667 に答える
0

Lombok の場合、IntelliJ を使用すると、getter と setter も含まれる変数の使用法を検索できます。変数名と をクリックするだけoption/alt + f7です。

これは、Intellij 2016 および Lombok プラグイン 0.13.16 で動作します。古いバージョンについてはわかりません。

于 2016-11-03T04:04:05.603 に答える