JAXB, ExceptionInInitializerError

307
11 октября 2017, 06:10
    public class Main {
static final String PACKAGE = DataObject.class.getPackage().getName();
    public static void main(String[] args) throws Exception {
        DataObject obj = new DataObject();
        File file = new File("test.xml");
        JAXBContext jc = JAXBContext.newInstance(PACKAGE);
        Marshaller m = jc.createMarshaller();
        Unmarshaller um = jc.createUnmarshaller();
        m.marshal(obj,file);
        DataObject object = (DataObject) um.unmarshal(file);
        System.out.println(object.s);
    }
}

Класс DataObject

    @XmlRootElement
    @XmlAccessorType(XmlAccessType.NONE)
    @XmlType(name="dataObj")
     public class DataObject {
        @XmlElement
        String s ="fff";
    }

Получаю:

java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
    at Main.<clinit>(Main.java:9)

9 строка - это static final String PACKAGE

Пробовал инициализировать в статик блоке и ловить стектрейс, выдает:

    java.lang.NullPointerException
    at Main.<clinit>(Main.java:11)
Exception in thread "main" java.lang.NullPointerException
    at java.util.StringTokenizer.<init>(StringTokenizer.java:199)
    at java.util.StringTokenizer.<init>(StringTokenizer.java:221)
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:274)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:394)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:298)
    at Main.main(Main.java:20)

11 строка: PACKAGE = DataObject.class.getPackage().getName();

20 строка: JAXBContext jc = JAXBContext.newInstance(PACKAGE);

В чем дело?

READ ALSO
JavaFX. Inset / Outset Border

JavaFX. Inset / Outset Border

Доброго времени сутокСобственно, вопрос состоит в том, как сделать в JavaFX рамку типа Inset / Outset

207
Ошибка &ldquo;non-static variable this cannot be referenced from a static context&rdquo;

Ошибка “non-static variable this cannot be referenced from a static context”

Учусь программировать по учебнику и попытался понять принципы ООПНаписал следующий код в Main

247
Передать данные: AsyncTask, WeakReference в EditText

Передать данные: AsyncTask, WeakReference в EditText

Есть activity с картой, при нажатии на карту происходит асинхронный запрос и возвращаются данные JSONОдно из полей - адрес

186
Коллекция без дублирования элементов

Коллекция без дублирования элементов

Допустим, есть строки А, Б, В, Я, ВПосле добавления в какую коллекцию в ней будет только А, Б, В, Я? Или велосипед писать?

186