web-dev-qa-db-ja.com

ロンボクがNetbeansプロジェクトで機能していない

@Getterと@Setterを使用するプロジェクトでLombokを使用したいと思います。

Mavenの使用を含めました:

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

NetbeansのインポートはOKです:

import lombok.Getter;
import lombok.Setter;

ただし、オートセッターとゲッターは機能しません(オートコンプリートなし/「シンボルが見つかりません...」)。

奇妙なことに、別のプロジェクトでは問題なく動作しています。しかし、私は違いを理解することはできません。

私は次のことをテストしました:

  • lombokバージョンを変更します(最後でも):どのバージョンでも、インポートは機能しなくなります

  • mavenでプロジェクトをビルドします:大丈夫です!

  • eclipseを使用してください:大丈夫です! (しかし、残念ながら私だけが決定します)

=>これはNetbeans関連の問題だと確信しています

  • チュートリアルで見たように、注釈処理を有効にします=>プロジェクトのプロパティにそのようなオプションがありません

enter image description here

何か案が ?

11
Rolintocour

Apache Maven3.5.4を使用するNetbeans8.2では、Lombok 1.18.4 またはそれよりはるかに古い 1.16.16 を使用します。

Netbeans 10.0 /9.0で Apache Maven 3.5.4を使用Lombokを使用 1.18.4 ロンボクは 本当にバギー保存時にコンパイル がNetbeans 10.0/9.0で使用されている場合

ロンボクを新しい バージョン に更新しました

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <scope>provided</scope>
    <version>1.18.8</version> <!--1.18.8 for Netbeans 9/10 OR 1.16.16 for Netbeans 8 with Java 8 -->
</dependency>

[〜#〜] nb [〜#〜]

  • maven-compiler-pluginの場合、maven-compiler-pluginのLombokに関連するannotationProcessorPathsをすべて削除します。
  • Lombok Mavenプラグインをすべて削除します

MavenとNetbeansがこれをすぐに実行するため、これは必要ありません。 Mavenで必要なのは正しいLombok依存関係だけです。

8
rjdkolb

https://groups.google.com/forum/#!topic/project-lombok/xbgzA86pvJs で解決策を見つけました

=> maven-compiler-pluginのバージョンを更新することがそれを機能させる唯一の方法でした

7
Rolintocour

これは私たちと一緒に働きました:

  • lombokの依存関係から<scope>provided</scope>を削除します
  • プロジェクトをクリーンアップしてビルドする
  • lombokのバージョンを変更します(1.16.20から1.16.16に変更しました)
  • プロジェクトをクリーンアップしてビルドする
  • lombokバージョンを復元し、<scope>provided</scope>を元に戻します
  • プロジェクトをクリーンアップしてビルドする
4
Paul Rambags

pomを構成します

<properties>
    <src.dir>src/main/Java</src.dir>
</properties>

<profiles>
    <profile>
        <id>lombok-build</id>
        <properties>
            <src.dir>${project.build.directory}/generated-sources/delombok</src.dir>
        </properties>
    </profile>
</profiles>

<dependencies>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.8</version>
    <scope>provided</scope>
</dependency>
</dependencies>
    <build>
        <sourceDirectory>${src.dir}</sourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok-maven-plugin</artifactId>
            <version>1.16.16.0</version>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>delombok</goal>
                    </goals>
                    <configuration>
                        <sourceDirectory>src/main/Java</sourceDirectory>
                        <addOutputDirectory>false</addOutputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

次に、[プロジェクトのプロパティ]-> [アクション]-> [プロファイルのアクティブ化]で、さまざまなアクション(ビルド、デバッグなど)のアクティブなプロファイルとしてlombok-buildを指定します。

これで blog githubサンプルプロジェクトと、最新バージョンのmaven + netbeans + lombokを使用するための画像付きの構成があります。

1
Bruno Lee