无论我尝试了什么,Avro都不会在代码中为字段生成UUID类。
版本:1.8.2
我试图用这样的模式生成UUID:
"type": "record",
"name": "RecordWithUUID",
"namespace": "avro",
"fields": [
{
"name": "uuid",
"type": {
"type": "string",
"logicalType": "uuid"
}
}
]
}
这是来自Avro项目测试类的类TestReflectLogicalTypes
:RecordWithUUID
,简而言之,这是Avro用来测试其代码功能的模式示例,我希望它能正常工作。
我这样运行,从我的方案中获取java代码:
java-jaravro-tools-1.8.2.jar编译模式my_scheme.avsc。
java-jaravro-tools-1.9.1.jar编译模式my_scheme.avsc。
来自Avro的初始类代码如下所示:
class RecordWithUUID {
UUID uuid; // <- UUID (!!!)
@Override
public int hashCode() {
return uuid.hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (!(obj instanceof RecordWithUUID)) {
return false;
}
RecordWithUUID that = (RecordWithUUID) obj;
return this.uuid.equals(that.uuid);
}
}
下面是我生成后得到的代码:
1.8.2命令行中的avro工具
..
@SuppressWarnings("all")
@org.apache.avro.specific.AvroGenerated
public class RecordWithUUID extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
private static final long serialVersionUID = 9147582668665082277L;
public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"RecordWithUUID\",\"namespace\":\"avro\",\"fields\":[{\"name\":\"uuid\",\"type\":{\"type\":\"string\",\"logicalType\":\"uuid\"}}]}");
public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
..
@Deprecated public java.lang.CharSequence uuid; //<- NO UUID
..
1.9.1命令行中的avro-工具
..
@org.apache.avro.specific.AvroGenerated
public class RecordWithUUID extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
private static final long serialVersionUID = 9147582668665082277L;
public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"RecordWithUUID\",\"namespace\":\"avro\",\"fields\":[{\"name\":\"uuid\",\"type\":{\"type\":\"string\",\"logicalType\":\"uuid\"}}]}");
public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
..
private java.lang.CharSequence uuid; //<- NO UUID
..
maven插件为avro1.8.2/1.9.1
..
@org.apache.avro.specific.AvroGenerated
public class RecordWithUUID extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
private static final long serialVersionUID = 9147582668665082277L;
public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"RecordWithUUID\",\"namespace\":\"avro\",\"fields\":[{\"name\":\"uuid\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\",\"logicalType\":\"uuid\"}}]}");
public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
..
private java.lang.String uuid;//<- NO UUID
..
那么,是虫子还是我做错了什么?
试试1.10.0-SNAPSHOT,我已经在那里工作了(在其他版本中遇到与您相同的问题后)
我是JMeter的新手。我相信我已经成功安装了它,并且正在运行脚本记录器设置(http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf)。当我启动用于拦截浏览器请求的JMeter代理服务器时,应该在jeter/bin文件夹中生成一个名为ApacheJMeterTemporaryRootCA.crt的文件。它不是。所以,我无法
我正在遵循这些设置Apache Bigtop的指导,以最终支持我运行Oozie。我尝试使用Bigtop,因为Oozie网站建议如果我想在Hadoop2+上运行我的Oozie安装,就使用Bigtop。
我正在尝试将一个网站从Heroku迁移到AWS,但在代码构建方面遇到了麻烦。源代码在GitHub上,我使用的是CodePipeline-CodeBuild-Elastic Beanstalk。管道运行良好,代码似乎正在向Elastic Beanstalk过渡。然而,我被困在代码构建步骤。(buildspec.yml如下所示) 日志似乎可以很好地运行命令,但是当我将构建输出到S3存储桶时,没有构建文
我正在尝试创建一个公钥以允许我推送到Git,但我的. ssh文件夹尚未创建。 以下是我运行的命令: $ssh-keygen-t rsa-Cemaill@me.com 生成公共/私有rsa密钥对 输入保存密钥的文件(/h/.ssh/id\u rsa): 这就是H:驱动器配置、数据、配置文件、配置文件中的全部内容。V2 我认为有一个问题,因为当我得到提示输入文件,其中保存密钥(/h//. ssh/id
我使用的是精简型脚本SCS的汇总。我的问题是我无法生成源地图。 以下是我的汇总配置文件: 我不确定我到底做错了什么。下面是我正在使用的代码的链接。任何帮助都将不胜感激!
从我的终端运行时,它只生成以下APK。请告诉我如何从android Studio获得默认的未签名apk。我尝试为带有空密钥库的unsigned创建单独的buildType,但没有任何用处。