You pretty much have the idea. Client applications that run outside the app server and access app server services use the jars in the client directory. Applications deployed to the app server end up using the jars in the lib directory.
So what's the difference between including client jars with the actual client code and putting it in the client directory?
Does the client directory mean that NO classes need to be sent to the client, because everything is in the client directory?
If all client jars are here and not with the client...hmm.....wouldn't something still need to be given to the actual client to run on his or her system?
I'm confused... :(
Also, I'm not sure of the difference between JBOSS_HOME/lib and JBOSS_HOME/server/lib
And finally, are jars within /lib and /client hot deployed? (The doc says that they're not for /server/lib, but doesn't say anything about the other two...)
Do not place your jars in the client directory. Instead, include the necessary jar files from the client directory in your client's classpath. Yes, that means if the client is on a remote machine that you must copy the client directory (or just the jars you need) to that machine. Thus, the client directory is mainly a repository of jar files that clients might use.
Regarding lib vs server/xxx/lib, the files in lib are needed to bootstrap the app server, and the files in server/xxx/lib are what is required to run the various services provided by the server. Compare, for example, the list of jars in server/minimal/lib with the ones in server/default/lib (you can do this only if you downloaded the binary zip file, not if you used the installer jar file, though with the later I supposed you could install a minimal server).
Thanks for the reply.
If you want to share JARs among several different archives in a given server configuration, what could you do? In this case I'm guessing you'd place it in server/myConf/lib (though these JARs can only be read at server startup time and NOT hot-deployed)
What would you do if you wanted to share JARs between several server configurations? I'm lost on this one totally.
And is there anything apart from .jar files that would be placed in either the /client, /lib, or /server/myConf/lib folders? (I'm guessing .zip files that are organized exactly like .jar) -- But would anything else ever be placed there, like properties files, xml files, EARs/WARs/SARs/HARs, etc.....?
Clarification on these matters would be extremely helpful!