I am linking a native C++ library into my Java application using JNI. I loaded my library using System.loadLibrary() and everything appears to be working. I added the functionality to my C++ dll which is now making calls into multiple other dlls from third party software systems. Unfortunately one of these dlls is named ZIP.dll. The java loadLibrary operation is finding this dependent dll in the /jre/bin before looking in my project directory so it attempts to use that one. The two dlls are not identical so I am getting an UnsatisfiedLinkError saying that the specified procedure could not be found.
Is there a way to tell java where to look for dependent libraries when loading a dll?