5 Replies Latest reply on Oct 4, 2006 7:01 PM by jk;l jkl;

    /client vs /lib

    jk;l jkl; Expert

      What is the difference between the JBOSS_HOME/client and JBOSS_HOME/lib directories? Do they both contain JARs and nothing else?

      I read the definitions, but I'm not sure what exactly the /client files should be. Does this mean application clients that access EJBs and other things within the server?

      Please explain this further?


        • 1. Re: /client vs /lib
          Peter Johnson Master

          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.

          • 2. Re: /client vs /lib
            jk;l jkl; Expert

            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... :(

            • 3. Re: /client vs /lib
              jk;l jkl; Expert

              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...)

              • 4. Re: /client vs /lib
                Peter Johnson Master

                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).

                • 5. Re: /client vs /lib
                  jk;l jkl; Expert

                  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!