問題タブ [lombok]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
playframework - Play 2 でのロンボク
Play Framework 2 との Lombok 統合についてはどうですか? 私はLombokをとても気に入っています。これにより、コードが読みやすくなり、ボイラープレートが少なくなります。また、Play Framework も素晴らしいです。しかし、これらを混同すると大変なことになります。
主な理由は、ドメイン クラスの前にコンパイルされた play プロジェクトで scala がテンプレート化されることです。そのため、それ自体がコンパイラのハックである Lombok は、その間アクセサを生成しません。
問題は、それを機能させる方法があるかどうかです。
Google グループでいくつかのディスカッションを見つけましたが、合理的な解決策はありません。それで、あなたはそれで何か成功しましたか?
そして..なぜPlay Frameworkプロジェクトの人たちはLombokのようなソリューションを提供しないのですか? とにかく、Play はコード生成の魔法とシャドウ コンパイルでいっぱいです。
java - Java/Scala 混合プロジェクトと Lombok のコンパイル エラー
lombok アノテーションを持つ Java Bean に依存する Scala クラスを持つ Maven Java/Scala 混合プロジェクトをコンパイルしようとしています。lombok jar ファイルを Scala コンパイラと lombok エージェントのブート クラスパスに追加しようとしましたが、コンパイラは生成されたゲッターを見つけることができませんでした。Scala コンパイラがロンボク アノテーションを認識する方法はありますか? そうでない場合、良い回避策は何ですか?
Bean は論理的に同じプロジェクトに属しているため、この Bean を最初にコンパイルするためだけに別の Maven プロジェクトを導入することを避けようとしていることに注意してください。また、後で GWT プロジェクトで使用されるため、Scala で Bean を書き直すこともできません。
ありがとうございました、
java - Mavenのコンパイル中にJavaソースディレクトリを無視するには?
Lombok を使用するときに Javadoc が正しく作成されるように、 Lombok Maven Pluginを使用しようとしています。
Lombok Maven は、コンパイルの直前に、新しいコード生成の目標を導入します。私の構成では、 my sourceDirectory
(Lombok アノテーション付き Java src/main/java
) が処理されて、 で Java (Lombok アノテーションなし) が作成されますtarget/generated-sources/delombok
。
ただし、 のすべてのファイルにsourceDirectory
対応する (同じ名前の) ファイルが に含まれるtarget/generated-sources/delombok
ようになったため、重複するクラスが原因でコンパイルが失敗します。
のソースを無視するように Java コンパイラに指示するにはどうすればよいsourceDirectory
ですか?
デフォルトの Lombok Maven 構成では、開発者は Java (Lombok アノテーション付き) を のsrc/main/lombok
代わりにフォルダーに配置することに注意してくださいsrc/main/java
。ただし、IDE を混乱させ、コードが正常にコンパイルされるため (Maven プラグインを削除すると)、これを実行したくありません。
また、単に再定義するだけでも IDE を混乱させることに注意してくださいsourceDirectory
(IDE は、Java ソース コードがどこにあるのかわかりません!)。
java - ロンボクはゲッターとセッターを生成していません
Mavenベースのプロジェクトを別のコンピューターに送信しようとしました。HORROR、赤いマーカーがいたるところにあります。
しかし、mvn clean install
うまく構築されています。
すぐに、Lombokがクラスのゲッターとセッターを生成していないことに気付きましたが、@Getter
と@Setter
はEclipseによって正しく認識されています。
両方のコンピューターは同じMavenバージョン(3.0.4)を使用しますが、JDK(1.6_23と1.6_33)は異なります。どちらもEclipseIndigo32ビットを使用しています。問題を解決する方法についてのアイデアはありますか?
intellij-idea - IntelliJでの「val」タイプのロンボク使用
こんにちは、プロジェクトで Project Lombok (バージョン 0.11.2) を使用しています。Intellij と Eclipse (STS) の両方がインストールされており、lombok が両方の IDE と統合されています (STS、lombok JAR 経由、IntelliJ プラグイン経由 [バージョン 0.4、22/01/12 リリース])。
IntelliJ で「val」データ型を使用しようとすると、結果の型を認識できませんが、同じコードが STS で機能します。
これは IntelliJ プラグインの問題ですか、それともプラグインがこの機能をサポートしていないだけですか?
val 型は lombok 0.10.0 で追加されたため、新しい機能ではありません。
java - 可変コレクション用の Lombok 遅延ゲッター
コレクションを持つクラスがあります:
ただし、に要素を追加/削除することはできませんList
。原因は、属性がAtomicReference
. 警告/エラーは次のとおりです。
コレクションに対して追加/削除操作を実行するにはどうすればよいですか?
java - Lombokをインストールした後、Eclipse Indigoがプロジェクトを実行していない
最近、Lombok (バージョン 0.11.0) を Eclipse Indigo インストールにインストールしましたが、Eclipse のすべてのプロジェクトが実行とデバッグの両方から起動しなくなりました。
プロジェクトを実行しようとすると、次のエラーが発生します
これは、実行中のプロジェクトのメインクラスファイルが見つからないことを示唆していますが、実行およびデバッグ構成でプロジェクトを正しく参照しており、ファイルはプロジェクトにあり、 /bin フォルダーを確認して確認しましたクラスはそこにあります(それはそうです)。
問題を引き起こしている可能性がある、またはしていない可能性があると考えられる唯一のことは、Lombok のインストール直後に、/bin フォルダーに正しい内容が含まれておらず、代わりに JUnit テスト ケースがそこに構築されたことです。
プロジェクトセット全体を数回クリーンアップし、Lombok をアンインストール/再インストールしました。コンピューターをリセットしましたが、まだ喜びがありません。Eclipse は jdk 1.6.30 で実行されています。
更新:プロジェクトが Lombok を使用している別のプロジェクトを参照している場合、またはそのプロジェクトが Lombok を直接使用している場合に問題があるようです。プロジェクトへの Lombok への参照を削除すると、Eclipse でプロジェクトを正常に実行できます。
java - Project Lombok を Java プロジェクトで使用する方法
ロンボクを具体的に試してみたい@NoArgsConstructor
and @Getter
、@Setter
ただし、それを使用して次のようなことをしようとすると:
ここで何か不足していますか?
エラー:
android - AndroidLombokIntelliJ統合
私は自分のAndroidプロジェクトにロンボクを含めようとしています。IDEとしてIntelliJIDEAを使用しています。プロジェクトはMavenで構築されています。lombok依存関係を追加し、mavenを使用してプロジェクトをコンパイルすると成功します。
IntelliJでは、lombokプラグインもインストールしました。これも機能します。生成されたゲッター/セッターが表示されます。
Hovewer、IntelliJでプロジェクトを作成しようとすると、ビルドが失敗します。
エラー:シンボルメソッドsetName(String)が見つかりません
標準のJava環境では、プロジェクトをコンパイルするには、クラスパスにlombokを追加するだけで十分です。Android環境でコンパイルが失敗する原因は何ですか?
編集:IntelliJバグトラッカーで問題を作成しました:http://youtrack.jetbrains.com/issue/IDEA-94749
maven - src/main/java からではなく、変更されたコード (delombok'd) から Maven をコンパイルするにはどうすればよいですか?
delombok maven プラグインを使用すると、すべてのファイルが「target/generated-sources/delombok」に配置されます。Mavenコンパイラを実行しようとすると、クラスの重複について不平を言うので、この質問が推奨するようにaddOutputDirectoryをfalseに設定します。現在の問題は、deombok されたファイルが無視されるため、コンパイラがメソッドの欠落について不平を言うことです。
デフォルトの 'src/main/java' ディレクトリを無視し、代わりに 'target/generated-sources/delombok' ディレクトリを使用してコンパイルするように Maven コンパイラ プラグインに指示するにはどうすればよいですか?
mvn compile -X を実行すると、コンパイラの実行時に次の出力が生成されます。
次に、コマンド ライン オプションが出力されている場所のさらに下に、-sourcepath 引数が次-sourcepath C:\Users\Jamey.Holden\workspace\Apollo\Website\src\main\java;C:\Users\Jamey.Holden\workspace\Apollo\Website\target\generated-sources\java;
のように表示されていることがわかります。
更新 私は問題の根底に到達していると思います。queryDSL を使用してメタエンティティを生成しているため、注釈処理を防ぐために proc=none を設定していましたが、これが注釈処理を回避するように設定されていない場合、コンパイラでエンティティが重複して検出されたというエラーが発生しました。proc=none と querydsl 注釈プロセッサを削除すると、問題が解決しました。これで、m2e を再び動作させることができました。