48

When I run my Java program, it gives me an error on this line

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

Error I am getting is:

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)

Can you please tell me how can I solve this error?

8
  • Please include a SSCCE if you want any help. We can't do much without a SSCCE. Thanks. Oh, and consider changing the title of your question to something a little more descriptive please. Commented May 5, 2012 at 18:08
  • The stacktrace gives you the exact line where the NullPointerExceptionoccurs. You just have to understand why you got that and fix it... Commented May 5, 2012 at 18:08
  • 4
    It is solved by identifying the problem and then correcting the identified problem. NPEs [should] only occur in the case of: someNullExpression.someMember. That is, the null value must be the target expression of a member/method for this exception to naturally occur. In the posted example there is only one expression that can meet this requirement. (Hint: what does the compiler variable evaluate to?) Commented May 5, 2012 at 18:09
  • 21
    Relax, guys. He is asking what a null pointer exception is. Commented May 5, 2012 at 18:10
  • 1
    @pst Since the exception is in "AnotherClassLoader.loadClass", doesn't that imply the null pointer is further downstream? If compiler was null it would just be a null pointer exception right there in main. Commented May 5, 2012 at 18:19

3 Answers 3

84

A NullPointerException means that one of the variables you are passing is null, but the code tries to use it like it is not.

For example, If I do this:

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

The code tries to grab the intValue of myInteger, but since it is null, it does not have one: a null pointer exception happens.

What this means is that your getTask method is expecting something that is not a null, but you are passing a null. Figure out what getTask needs and pass what it wants!

Sign up to request clarification or add additional context in comments.

1 Comment

Ed problem ka solution hai kya
7

This error occures when you try to refer to a null object instance. I can`t tell you what causes this error by your given information, but you can debug it easily in your IDE. I strongly recommend you that use exception handling to avoid unexpected program behavior.

Comments

2

Just a shot in the dark(since you did not share the compiler initialization code with us): the way you retrieve the compiler causes the issue. Point your JRE to be inside the JDK as unlike jdk, jre does not provide any tools hence, results in NPE.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.