问题标签 [auto-value]

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.

0 投票
1 回答
645 浏览

eclipse - 如何使用 Eclipse 和 Gradle 配置 Auto-Value?

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

我的课:

https://github.com/google/auto/blob/master/value/userguide/index.md说:要在 Gradle 中使用 Auto-Value,只需使用:

我这样做了,但没有用:

然后我用谷歌搜索并找到了一个可以解决所有问题的 Gradle APT 插件。但是插件的文档说:Gradle >= 4.6 是不必要的,因为我使用的是 gradle 5.4,没有那个插件我应该没问题。

如何整合 i Auto-Value?

0 投票
0 回答
448 浏览

java - 如何使用 Auto Value Gson 1.0.0 设置默认值

有一个来自 Ryan Harter 的非常旧版本的Auto Value Gson (0.4.4alpha)。现在我们要迁移到更新的版本(1.0.0)。但是,对我来说缺少的是反序列化时属性的默认值 - 我曾经能够做类似的事情

现在似乎不再支持默认方法。有什么想法可以实现我以前在新版本中的功能吗?

0 投票
1 回答
732 浏览

jackson - Jersey 忽略 ExceptionMapper

我做了一个ExceptionMapper捕获并记录所有异常,例如:

它捕获了Exception我的代码抛出的 s,但是如果我发送一个带有 JSON 值的请求,该值IllegalStateException在我的对象创建时抛出一个,这ExceptionMapper将被忽略并且我得到一个400 Bad Request响应。

有趣的是这个响应不是传统的 Tomcat HTML 格式的响应,它只是纯文本。它只是说:

无法构造 `com.example.vo.AutoValue_Customer$Builder` 的实例,问题:名字为空或为空。在 [来源:(org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream);行:14,列:1]

我认为这可能会使 Jersey 短路,但我@PreMatching ContainerRequestFilter是事先执行的,所以我真的不知道为什么400Response 不是来自 Tomcat 的传统 HTML。

为什么会这样?我能做些什么来捕捉这个并返回我自己的响应?

0 投票
1 回答
920 浏览

maven - 排除 AnnotationProcessorPaths 中的依赖项

我有以下构建配置:

父 POM:

其中一个子项目包含以下内容:

当我运行此配置时,我不断收到org.apache.maven.lifecycle.LifecycleExecutionException

当我检查这些工件的依赖关系时,com.google.auto.value:auto-value:1.6.5在检查父母之后)依赖于com.squareup:javapoet:1.9.0,并且com.google.dagger:dagger-compiler:2.24依赖于com.squareup:javapoet:1.11.1.

当我检查in的签名ClassName::withoutAnnotationcom:squareup:javapoet:1.11.1public ClassName withoutAnnotations()

in签名ClassName::withoutAnnotationcom:squareup:javapoet:1.9.0public TypeName withoutAnnotations()

因此,确实存在冲突。

如果它是正常的依赖项,我会知道使用<exclusions>标签,但在这种情况下,如果我添加这样的标签,我会遇到以下问题:Cannot find 'exclusions' in class org.apache.maven.plugin.compiler.DependencyCoordinate.

那么我该如何解决这种冲突annotationProcessorPaths呢?

0 投票
0 回答
50 浏览

android - 不能使用任何比 1.5.3 更新的自动值版本

我正在使用 Gradle 构建一个 Android Studio 项目。我在我的一个模块中使用自动值,但由于某种原因,任何高于 1.5.3 的自动值版本都会导致编译失败。

我在 build.gradle 中对模块的依赖如下所示:

如果我只是将 1.5.3 更改为 1.6.5,构建时会出现以下错误(同步工作正常):

我什至尝试使用文档中推荐的说明:

任何线索在这里做什么?

0 投票
1 回答
772 浏览

java - AutoValue 示例:错误:找不到符号类 AutoValue_Animal

我正在尝试了解@AutoValue。我按照 https://github.com/google/auto/blob/master/value/userguide/index.md中的示例进行操作

我正在使用 Android Studio 3.4

我添加了我的 gradle 依赖项

我也在使用

我的代码如下

当我运行测试时,它会出错

我错过了什么?

在https://github.com/elye/issue_android_auto_value添加了我的设计存储库

0 投票
2 回答
2339 浏览

maven - 使用注释处理器时,IntelliJ 中的 Maven 项目构建失败(google/auto-value)

我使用google/auto-value在 maven 项目中创建不可变的值类。

这就像使用 CLI(例如mvn clean test)的魅力,但在 IntelliJ 项目构建期间会产生错误:

值得注意的是:生成了正确的源,generated-sources/annotations/...但 IntelliJ 构建在此步骤后失败,并且不会创建生成的测试源目录generated-test-sources/...

虽然可以通过将另一个注释处理器路径添加到maven-compiler-plugin

此修复程序的缺点是在-dependency 版本更改auto-service时查找并手动更改版本。auto-value我的 pom 文件中是否有明显的错误或 IntelliJ 中的设置我不知道?据我所知,当我将项目导入 IntelliJ 时,会创建正确的注释处理配置文件。

0 投票
1 回答
44 浏览

annotations - 为什么我的 AutoValueExtension 注释不起作用?

我一直在尝试使用 Square 的 Redacted 注释从我的自动生成的类中的 toString() 方法中编辑 pin,但没有应用扩展。类加载器似乎没有读取扩展名。

@AutoValue 注释工作正常,但未应用 @Redacted 注释。

0 投票
1 回答
650 浏览

java - 如何配置 moditect-maven-plugin 以在我的模块化应用程序中使用自动值库?

我正在尝试构建一个模块化应用程序,并且我正在尝试使用 moditect-maven-plugin 来使用自动值库(它不是模块化的)。

根据此处的说明,我提出了以下 pom.xml:

重要的部分是 moditect-maven-plugin 配置。因为我需要com.google.auto.value.AutoValue注释,所以我导出了那个包,然后给模块一个相关的名称。

仅供参考,这是我在其中使用注释的类:

...这module-info.java是我的申请文件:

但是,当我运行时mvn clean install,我收到module not found错误:

看来 moditect-maven-plugin 正在根据我运行时输出的这些日志工作mvn clean install

对于它的价值,这里是这个自动值库的生成模块信息(来自上面记录的位置):

所以我需要一些帮助来弄清楚我做错了什么。我假设我只是搞砸了 moditect-maven-plugin 的配置,但我不确定如何。

0 投票
1 回答
385 浏览

java - 将 JAXB 与 AutoValue 结合使用时,编组错误“没有无参数默认构造函数”

给定以下课程:

当我运行时:

我总是得到:


我想让它工作而无需按照http://blog.bdoughan.com/2010/12/jaxb-and-immutable-objects.html中的建议创建适配器。我有太多的数据对象,我不想复制它们中的每一个。好奇的是,在 GitHub 中似乎有大量使用 JAXB 的 AutoValue 而不使用适配器:https ://github.com/search?q=XmlRootElement+autovalue&type=Code