使用字符串而不是java.lang.charsequence



(apache avro 1.8.2,avro maven插件1.8.2(

我对avro:schema有问题。

我在下面申报了一个类似under的字段

{
"name": "type",
"type": {
"type": "string",
"avro.java.string": "java.lang.String"
}
},

但是avro:模式转换类似

@Deprecated public java.lang.CharSequence type;
...
public OptionDetail(..., java.lang.CharSequence type, ...) {
...
this.type = type;
...
}

我尝试了什么:

  1. "avro.java.string": "java.lang.String"
  2. (pom.xml,(
<stringType>String</stringType>

以上两项都不能正常工作。请让我知道我应该多尝试什么。谢谢

您是否尝试升级到Avro版本1.10.0?我看不出这个版本有什么问题。在pom中设置stringType字段为我修复了它,所以我认为这只是一个版本问题。

如果您希望所有字符串字段都是java.lang.String的实例,那么您只需要配置编译器:

java -jar /path/to/avro-tools-1.7.7.jar compile -string schema 

或者如果您正在使用Maven插件

<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<version>1.7.7</version>
<configuration>
<stringType>String</stringType>
</configuration>
[...]
</plugin>        

更多详细信息:https://stackoverflow.com/a/25315412/2945616

相关内容

最新更新