سؤال

هل استخدم أي شخص بنجاح ANT4eclipse (http://www.ant4eclipse.org/) بالاقتران مع Project Lombok (http://projectlombok.org/)?

يوفر Lombok تعليقات شرحية لإزالة كود Boilerplate ؛ ومع ذلك ، لا يبدو أنه يلعب بشكل جيد مع ant4eclipse (تجميع مقطوعة الرأس لمشاريع الكسوف). على سبيل المثال ، تجمع عينة Lombok التالية غرامة في Eclipse و Javac:

import lombok.Getter;
public class LombokTest {
  private @Getter String foo; 
  public LombokTest() {
    String s = this.getFoo();
  }
}

لكن التجميع مع ant4eclipse's <buildJdtProject> يعطي ما يلي:

[javac] Compiling 1 source file
[javac] ----------
[javac] 1. WARNING in C:\dev\Java\workspace\LombokTest\src\LombokTest.java (at line 4)
[javac]     private @Getter String foo;
[javac]                            ^^^
[javac] The field LombokTest.foo is never read locally
[javac] ----------
[javac] 2. ERROR in C:\dev\Java\workspace\LombokTest\src\LombokTest.java (at line 8)
[javac]             String s = this.getFoo();
[javac]                             ^^^^^^
[javac] The method getFoo() is undefined for the type LombokTest
[javac] ----------

هل استخدم أي شخص هذه المكتبات بنجاح؟

شكرًا!

تعديل: عينة مشروع إظهار القضية

هل كانت مفيدة؟

المحلول

تمكنت في النهاية من تجميع مشروع Lombok مع Ant4eclipse من خلال Delomboking The Project أولاً مع

<delombok verbose="true"; encoding="UTF-8" 
    to="${workspaceDirectory}/myproject/src" 
    from="${workspaceDirectory}/myproject/src-original" />

نصائح أخرى

IIRC من أجل استخدام Lombok في Eclipse ، هناك معلمة مطلوبة عند بدء تشغيل وكيل Java في Lombok في عملية ترجمة JDT. يتم تحديد هذا عادة في eclipse.ini ملف. إذا لم يستفيد Ant4eclipse أيضًا من هذه المعلمات (لا أرى سبب ذلك) قد تضطر إلى تحديد -javaagent:lombok.jar معلمة لذلك أيضا.

إخلاء المسئولية: هذا مجرد تخمين.

لا يتم ترجمة المشروع الموفر خارج المربع مع Eclipse Java EE 3.5.2 باستخدام Java 6. الأخطاء في Eclipse هي نفسها التي تقدمها Ant4eclipse.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top