Как настроить Auto-Value с Eclipse и Gradle? - PullRequest
0 голосов
/ 22 апреля 2019

Я хочу использовать Google Auto-Value в проекте библиотеки Java Gradle в Eclipse.

Мой класс:

@AutoValue
public abstract class Pairing implements Comparable<Pairing> {

    static Pairing create(final Participant white, final Participant black) {
    return new AutoValue_Participant(white, black);
    }

    private final transient Participant white;
    private final transient Participant black;

}

https://github.com/google/auto/blob/master/value/userguide/index.md говорит: чтобы использовать Auto-Value в Gradle, просто используйте:

dependencies {
  // Use 'api' rather than 'compile' for Android or java-library projects.
  compile             "com.google.auto.value:auto-value-annotations:1.6.2"
  annotationProcessor "com.google.auto.value:auto-value:1.6.2"
}

Я сделал это, и это не сработало:

> Task :compileJava FAILED
D:\QNo_Dokumente\Java\workspace\SwissCoffee\src\main\java\de\qno\swisscoffee\Pairing.java:20: error: cannot find symbol
    return new AutoValue_Participant(white, black);
               ^
  symbol:   class AutoValue_Participant
  location: class Pairing
D:\QNo_Dokumente\Java\workspace\SwissCoffee\build\classes\java\main\de\qno\swisscoffee\AutoValue_Pairing.java:11: error: constructor Pairing in class Pairing cannot be applied to given types;

Тогда я гуглил и нашел плагин Gradle APT, который должен решить все проблемы. Но документация к плагину гласит: это не нужно для Gradle> = 4.6, и, поскольку я использую Gradle 5.4, у меня все будет хорошо без этого плагина.

Как интегрировать Auto-Value?

1 Ответ

0 голосов
/ 22 апреля 2019

Хорошо, вы никогда не должны кодировать после полуночи. И вы должны решать проблемы, отбрасывая любой код, написанный после полуночи.

Исходный код просто был неверным. Закрытые поля вместо абстрактных методов, ложное имя автоматически сгенерированного класса autoValue.

Приносим извинения за неудобства. Дальнейшего ответа не требуется. Все документы, найденные в Google, действительны.

...