简体   繁体   English

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

[英]Using string instead of java.lang.charsequence

(apache avro 1.8.2, avro-maven-plugin 1.8.2) (apache avro 1.8.2, avro-maven-plugin 1.8.2)

I'm having problem with avro:schema.我在使用 avro:schema 时遇到问题。

I declared a field like under below我在下面声明了一个字段

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

but avro:schema converts like但是 avro:schema 转换成

@Deprecated public java.lang.CharSequence type;

...

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

What I tried:我尝试了什么:

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

Both of above doesn't work properly.以上两个都不能正常工作。 Please let me know what should I try more.请让我知道我应该多尝试什么。 Thanks.谢谢。

Have you tried upgrading to Avro version 1.10.0 ?您是否尝试过升级到 Avro 版本1.10.0 I don't see the issue in this version.我在这个版本中没有看到问题。 Setting the stringType field in the pom fixed it for me, so I expect it's just a version problem.在 pom 中设置stringType字段为我修复了它,所以我认为这只是一个版本问题。

If you want all you string fields be instances of java.lang.String then you only have to configure the compiler:如果您希望所有字符串字段都是java.lang.String的实例,那么您只需配置编译器:

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

or if you are using the Maven plugin或者如果您使用的是 Maven 插件

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

More details: https://stackoverflow.com/a/25315412/2945616更多详情: https://stackoverflow.com/a/25315412/2945616

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用drawString时无法解析java.lang.CharSequence - java.lang.CharSequence cannot be resolved when using drawString 无法解析类型java.lang.CharSequence - The type java.lang.CharSequence cannot be resolved 为什么java.lang.CharSequence被设计为接口? - Why is java.lang.CharSequence designed as an Interface? 无法解决将 sendKeys() 与 Selenium WebDriver Java.lang.CharSequence 一起使用时的错误 - Error when using sendKeys() with Selenium WebDriver Java.lang.CharSequence cannot be resolved 如何将java.sql.Date转换为java.lang.CharSequence? - How to cast java.sql.Date to java.lang.CharSequence? Eclipse错误:java.lang.CharSequence无法解析 - Eclipse Error: java.lang.CharSequence cannot be resolved 自定义setMessage对话框TextView无法强制转换为java.lang.CharSequence - custom setMessage dialog TextView cannot be cast to java.lang.CharSequence Firebase Realtime 在类 java.lang.CharSequence 上找不到要序列化的属性 - Firebase Realtime No properties to serialize found on class java.lang.CharSequence 无法将类型java.lang.charSequence解析为类型错误 - The type java.lang.charSequence cannot be resolved to a type error 尝试在 null object 参考上调用虚拟方法 'boolean java.lang.String.contains(java.lang.CharSequence)' - Attempt to invoke virtual method 'boolean java.lang.String.contains(java.lang.CharSequence)' on a null object reference
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM