如何使用 Eclipse 和 Gradle 配置自动值?
How to configure Auto-Value with Eclipse and Gradle?
我想在 Eclipse 中的 Gradle java-library 项目中使用 Google 的自动值。
我的class:
@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 中使用自动值,只需使用:
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,没有那个插件应该没问题。
如何集成自动值?
好的,你不应该在午夜后编码。你应该通过丢弃午夜后编写的任何代码来解决问题。
源代码完全错误。私有字段而不是抽象方法,自动生成的 autoValue 的假名称 class.
对于给您带来的不便,我们深表歉意。无需进一步答复。 google 找到的所有文档均有效。
我想在 Eclipse 中的 Gradle java-library 项目中使用 Google 的自动值。
我的class:
@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 中使用自动值,只需使用:
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,没有那个插件应该没问题。
如何集成自动值?
好的,你不应该在午夜后编码。你应该通过丢弃午夜后编写的任何代码来解决问题。
源代码完全错误。私有字段而不是抽象方法,自动生成的 autoValue 的假名称 class.
对于给您带来的不便,我们深表歉意。无需进一步答复。 google 找到的所有文档均有效。