【问题标题】:How to configure Auto-Value with Eclipse and Gradle?如何使用 Eclipse 和 Gradle 配置 Auto-Value?
【发布时间】:2019-04-21 23:07:51
【问题描述】:

我想在 Eclipse 的 Gradle java-library 项目中使用 Google 的 Auto-Value。

我的班级:

@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 说:要在 Gradle 中使用 Auto-Value,只需使用:

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,没有那个插件我应该没问题。

如何集成 i Auto-Value?

【问题讨论】:

  • 您确定 Gradle 版本吗?你使用 Gradle 包装器吗?有时可能会使用旧安装,因为调用的是 gradle 而不是 gradlew
  • 一个有效的问题。但我只是做了一个清理工作。 Java、Eclipse、Gradle 的全新安装,磁盘上没有旧版本。可能不是这样:新鲜的 gradle,但陈旧的 gradlew。我删除了 gradlew 和 gradlew.bat 并调用了 gradle wrapper。 gradlew build 没有变化。

标签: eclipse gradle auto-value


【解决方案1】:

好的,你不应该在午夜之后编码。你应该通过丢弃午夜之后编写的任何代码来解决问题。

源代码完全是错误的。私有字段而不是抽象方法,autoValue 自动生成的类的错误名称。

很抱歉给您带来不便。无需进一步回复。通过 google 找到的所有文档都是有效的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多