B4J Question How to get the intellisense working for external libraries

B4JExplorer

Active Member
Licensed User
Longtime User
Hi, a few questions about using external libraries -

1. Can you put more than one folder, in the Additional Libraries setting, under Paths Configuration?

2. Can you specify a single jar somewhere, rather than a folder?

3. If not, can you just copy the jars, into the project root folder? How do you tweak B4J into seeing the classes, and displaying the method names in the picklist, after 'As (type)'; or after the dot after a declared object?
 

B4JExplorer

Active Member
Licensed User
Longtime User
Stupid question, #2 above. It's the Additional Jar directive. Been using that, but somehow it didn't register when I started typing the thread.

Anyway, how do you specify multiple folders?
 
Upvote 0

dilettante

Active Member
Licensed User
Longtime User
I can see where multiple Additional Libraries paths might seem attractive at first.

However if you had these you'd need to record the paths someplace (inside a project?). If you did that even moving things around a little bit could break those path references, as well as making it hard to share project files with other programmers. Probably even sharing them with yourself (i.e. different development PCs).

This is sorta kinda what Microsoft tried to fix with ActiveX libraries, using strong names such as class and type IDs (GUIDs) and storing a cross-reference in the registry. That meant even if Library X was stored in different actual folders on different machines, the strong names could be looked up in the registry to find out where the library actually was on any given machine.

This only mostly works because a lot of 3rd party application installers on Windows do not obey all of the rules of the road, and ActiveX registration became fragile. This lead to its own flavor of DLL Hell, where it only takes one poorly designed application installer to break hundreds of other programs. There is even a similar .Net GAC Hell, though the problem is less widespread.
 
Last edited:
Upvote 0

B4JExplorer

Active Member
Licensed User
Longtime User
I can see where multiple Additional Libraries paths might seem attractive at first.

However if you had these you'd need to record the paths someplace (inside a project?). If you did that even moving things around a little bit could break those path references, as well as making it hard to share project files with other programmers. Probably even sharing them with yourself (i.e. different development PCs).

This is sorta kinda what Microsoft tried to fix with ActiveX libraries, using strong names such as class and type IDs (GUIDs) and storing a cross-reference in the registry. That meant even if Library X was stored in different actual folders on different machines, the strong names could be looked up in the registry to find out where the library actually was on any given machine.

This only mostly works because a lot of 3rd party application installers on Windows do not obey all of the rules of the road, and ActiveX registration became fragile. This lead to its own flavor of DLL Hell, where it only takes one poorly designed application installer to break hundreds of other programs. There is even a similar .Net GAC Hell, though the problem is less widespread.

One of the reasons for the question about multiple folders, is because of the existence of third-party libraries. I've handled this kind of complexity in non-b4j projects, and can deal with the consequences. But even without that option, we can always just copy jars to a central project folder. Not really that important.

Anyway, thanks for the comments, everything's working well so far.
 
Upvote 0
Top