Basically, an external or user written library for B4J will consist of two files, the jar file and an XML file which describes the functions and parameters within the jar file to B4J.
Without the XML file B4J has no way of knowing what functions are available within the code, and as there is no XML file matching the jar file will assume it not to be a library.
To use a pre-existing library, you write a portion of code which calls the library functions you want (a wrapper), this is then linked to the library and the resulting code is processed by a doclet to produce the XML file.Then both jar and the XML files are copied into your library folder.