Я пытаюсь изучить Apache Avro, и я начал с простого учебника для Avro. Я пытаюсь использовать JSON Schema для загрузки данных. Ниже мой простой ПРИМЕР-Не удается загрузить файл с помощью getResourceAsStream
public class AvroExample {
public static Schema SCHEMA; // writer's schema
public static Schema SCHEMA2; // reader's schema
private String name;
private int age;
private String[] mails;
private AvroExample boss;
static {
try {
SCHEMA = Schema.parse(AvroExample.class.getResourceAsStream("Employee.avsc"));
SCHEMA2 = Schema.parse(AvroExample.class.getResourceAsStream("Employee2.avsc"));
} catch (Exception e) {
System.out.println("Couldn't load a schema: " + e.getMessage());
}
}
// some more code
}
Но почему-то эта линия, всегда дают мне exception-
SCHEMA = Schema.parse(AvroExample.class.getResourceAsStream("Employee.avsc"));
как- Couldn't load a schema: java.lang.NullPointerException
Я считаю, что как-то, что не в состоянии загрузить файл, или я загружаю файл неправильно.
Это файл контент-
{
"type": "record",
"name": "Employee",
"fields": [
{"name": "name", "type": "string"},
{"name": "age", "type": "int"},
{"name": "emails", "type": {"type": "array", "items": "string"}},
{"name": "boss", "type": ["Employee","null"]}
]
}
Ниже фотография моего рабочего пространства, который показывает, где я поставил эти два AVSC files-
Может кто-нибудь помочь мне с этим ?
Поместите '/' перед вашей строкой пути. Что касается этого, прочитайте javadoc для 'Class # getResource()' и связанных методов. –