Подтвердить что ты не робот

Как решить ошибку java.lang.NullPointerException?

Когда я запускаю свою программу Java, она дает мне ошибку в этой строке

compiler.getTask(null, null, new DiagnosticCollector<JavaFileObject>(), null, null, compilationUnits);

Ошибка, которую я получаю:

Exception in thread "main" java.lang.NullPointerException
    at AnotherClassLoader.loadClass(test.java:58)
    at test.main(test.java:30)
    at Main.main(Main.java:68)

Не могли бы вы рассказать мне, как я могу решить эту ошибку?

4b9b3361

Ответ 1

A NullPointerException означает, что одна из переменных, которые вы передаете, имеет значение null, но код пытается использовать ее, как будто это не так.

Например, если я это сделаю:

Integer myInteger = null;
int n = myInteger.intValue();

Код пытается захватить intValue myInteger, но поскольку он является нулевым, он не имеет одного: исключение нулевого указателя происходит.

Это означает, что ваш метод getTask ожидает чего-то, что не является нулевым, но вы передаете нуль. Посмотрите, что нужно getTask и передайте то, что он хочет!

Ответ 2

Эта ошибка возникает при попытке ссылаться на экземпляр нулевого объекта. Я не могу сказать вам, что вызывает эту ошибку по вашей информации, но вы можете легко ее отладить в своей среде IDE. Я настоятельно рекомендую вам использовать обработку исключений, чтобы избежать неожиданного поведения программы.

Ответ 3

Просто снимок в темноте (так как вы не делили с нами код инициализации compiler): способ получения compiler вызывает проблему. Укажите, что JRE находится внутри JDK, так как в отличие от jdk, jre не предоставляет никаких инструментов, приводит к результатам NPE.