B4J Question SLC BADoclet.writeClass java.lang.NullPointerException

MicroDrie

Well-Known Member
Licensed User
When I try to create a jar file with SLC, this part goes to creating the xml documentation file. I have the latest software version of both the SLC program and the C:\Program Files\Java\jdk1.8.0_361\bin\javac.exe version. How do I get rid of the error message?

SLC BADoclet.writeClass java.lang.NullPointerException:
Starting step: Compiling Java code.
Completed successfully.
Starting step: Creating jar file.
Completed successfully.
Starting step: Creating XML file.
java.lang.NullPointerException
    at BADoclet.writeClass(BADoclet.java:192)
    at BADoclet.start(BADoclet.java:415)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:310)
    at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:189)
    at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:366)
    at com.sun.tools.javadoc.Start.begin(Start.java:219)
    at com.sun.tools.javadoc.Start.begin(Start.java:205)
    at com.sun.tools.javadoc.Main.execute(Main.java:64)
    at com.sun.tools.javadoc.Main.main(Main.java:54)

Error.
 

MicroDrie

Well-Known Member
Licensed User
B4J is configured to use Java 8, right?
Yes
Does your project include Java classes except of your wrappers?
Yes, indeed šŸ‘there are three public interfaces which have all three a public static class
If so then hide them with the @Hide annotation
I search the forum and the Internet for documentation how to use the @Hide option. I try to write @Hide just before the class:
Doclet @Hide option:
   @Hide("Checker")
   public static class Checker implements TypeQualifierValidator<RegEx> {

This gives me the following :mad: error:
Doclet error:
Starting step: Compiling Java code.
javac 1.8.0_361
D:\Data\1 B4X SLC\SimpleLibraryCompiler\SimpleLibraryCompiler\javax\src\javax\annotation\Nonnegative.java:18: error: cannot find symbol
@Hide("Checker")
 ^
  symbol:   class Hide
  location: @interface Nonnegative
1 error


Error.
So what is the correct place and format for the Doclet @hide option?
 
Upvote 0
Top