The couple answer is that you do not have to load banks manually, you should use Gradle , Ivy , Maven or something similar to manage your banks for you. These tools use a simple specification of your dependencies as input, as well as finding, loading, storing and providing all the necessary jar files. It takes a bit of getting used to, but pretty great when you are in full swing.
The direct answer, however, is that in orthodox unix these files belong to /usr/local/share . usr because they are read-only data that are not part of the underlying operating system, local because they are not provided by the operating system (which the rest of /usr belongs to) and share because jar files are architecture independent.
Note that in FreeBSD, the "ports" package management system places files in /usr/local , but I believe that it shares it with the local administrator. There is no other place where only local files go.
If the system has an agreement on where the packages managed by the package go, copy them under /usr/local . For example, on Ubuntu there is /usr/share/java , so you should use /usr/local/share/java .
Also, if the system has an agreement for version processing, copy this. Again, on Ubuntu, banks are all stored in the same directory with version numbers in the name, but with symbols without a link indicating the default / latest version. So, I have a file in /usr/share/java/xstream-1.3.1.jar and a symbolic link to /usr/share/java/xstream.jar pointing to it. I would use the same approach in /usr/local/share/java .
Now that for orthodox unix. You are on OS X, which is not orthodox unix. However, the principles apply: find how the system stores the banks it provides and transfer them to the user-managed file system space.
Tom anderson
source share