Java Question "No ShortName annotation found for class: XXXX".

bloxa69

Active Member
Licensed User
Longtime User
I get "No ShortName annotation found for class: XXXX" when generating Javadoc from Eclipse. But ShortName annotation is there (see the code).
When compiling that same identical code from the new SLC Tool, I don't get any errors and it compiles fine, and works fine in B4A.

B4X:
import anywheresoftware.b4a.BA;
import anywheresoftware.b4a.BA.Author;
import anywheresoftware.b4a.BA.DependsOn;
import anywheresoftware.b4a.BA.ShortName;
import anywheresoftware.b4a.BA.Version;
import anywheresoftware.b4a.keywords.Common;

@Author("xxx")
@Version(1.0f)
@ShortName("XXXX")
public class XXXX extends XXXXService {
    }

Error code:
B4X:
No ShortName annotation found for class: XXXX
java.lang.NullPointerException
    at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:67)
    at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:29)
    at com.sun.tools.javadoc.ClassDocImpl.superclassType(ClassDocImpl.java:441)
    at BADoclet.writeClass(BADoclet.java:155)
    at BADoclet.start(BADoclet.java:354)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
    at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
    at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
    at com.sun.tools.javadoc.Start.begin(Start.java:128)
    at com.sun.tools.javadoc.Main.execute(Main.java:41)
    at com.sun.tools.javadoc.Main.main(Main.java:31)
 

bloxa69

Active Member
Licensed User
Longtime User
Does the library contain multiple source files?
Sometimes the doclet doesnt generate javadoc for all files, unless you specifically make sure you select all of them in the selection window.

Thanks thedesolatesoul, do you mean multiple classes in a package? I sure select those.
It's more of a curiosity question, as I set up SLC Tool as external tool in Eclipse, and pointed it to the library's source folder, so I can run it with a click of a button every time i need to recompile the library and work in Eclipse so I don't miss any compile problems. SLC Tool doesn't give me any errors. It picks all multiple class files in the src folder and compiles them neatly in a library file plus xml, so there is no real need for that javadoc process anymore.
 

bloxa69

Active Member
Licensed User
Longtime User
okay...SLC saves you a lot of clicks and steps so thats great then.
Good work. You finally made your library :)

hey, thanks, I made several libraries already but not the one I really need - OpenGL Wallpaper, but I'm almost there. Hm... hopefully
 

bloxa69

Active Member
Licensed User
Longtime User
If you have come this far, you should make it :)
Would be intersting to know which libraries you made (curiosity!)
nothing to write home about, mainly replicating the stuff that B4A already has, just to learn the ropes.
The only one I can mention as of now is Fortumo. It lets you take in-app payments without credit cards, by using the carriers billing system and SMS payments, stuff like that. It's not finished yet though as I'm not sure I need it. When I move to Eastern European and Asian markets, then may be I finish it. Many people there don't have credit cards. Yeah, they also like to get their stuff for free.
 
Top