You can load a native library directly using System.load instead of System.loadLibrary. All you have to do is figure out where the library is and be able to pass a full path to it. You can use the servlet API to get to your WEB-INF folder and get a full path to it. It is pretty trivial from there to make a System.load(fullPathToFile) call.
You can also add extra options to Tomcat to set the Java library path. Depending on how you run Tomcat this can differ. For instance, you can set in a script for the user TC is run as, in some script you have which runs TC, or in catalina.bat/.sh an environment variable called JAVA_OPTS and part of this variable can be a list of directories for native libraries: set JAVA_OPTS=-Djava.library.path="C:\somepath\somefolder;C:\someotherpath" or export JAVA_OPTS=-Djava.library.path="/somepath/somefolder:/someotherpath" Wade I didn't see the entire thread. Do you need to do something else specifically? Wade --- soulboy <[EMAIL PROTECTED]> wrote: > > Thanks for the reply, > > > > From: soulboy [mailto:[EMAIL PROTECTED] > > Subject: RE: Tomcat JNI Netbeans > > > > > Does that work with JNI ? > > > JNI has nothing to do with Tomcat, > > Not sure what you mean by that. > > > but rather with the JVM you're using. > > For Sun-based JVMs, the location of native libraries must be specified > > via the java.library.path system property. When running on UNIX/Linux > > platforms, the default value of that property is taken from the > > LD_LIBRARY_PATH environment variable; for Windows, it comes from PATH. > > The system property can alternatively be set directly on the launcher > > command line. > > Yes I am aware of this. > > > Tomcat 6 uses a much simplified classloader hierarchy both to reduce > > overhead and make certain operations easier, such as direct referencing > > of Tomcat-specific classes. Changing the classloader hierarchy to be > > compatible with 5.5 or earlier is a step backwards. > > Ok well I take your word for it, I am new to Java so I am sure you are right > but it doesnt mean much to me. > > > > All the instructions for JNI with Tomcat say use > > > $CATALINA_HOME/shared/lib. > > > What instructions are those? If they're coming from some 3rd party, > > they're out of date (not unusual). > > Yes you are probably right however do you know where there are any official > instructions on setting up JNI and Tomcat ? > > > Also I would prefer to keep my jars separately > > as its easier to keep track of things. > > > Which is why the servlet spec recommends that webapps be implemented > > independently, and jars should go into WEB-INF/lib of each webapp, even > > if that means duplicating them. Since you're insisting on using JNI > > (thereby guaranteeing your app is not portable), you're stuck with the > > Actually for this project portability isnt important but being able to call > third party DLLs is. If it wasnt for JNI we couldnt use Java. I wouldnt > be surprised if this keeps cropping up. > > > Java restriction that a native library can only be loaded once, > > regardless of the number of classloaders that want to use it. I'd still > > put the common jar in Tomcat's lib directory, since that's simple and > > straightforward. > > Ok thanks again > -- > View this message in context: > http://www.nabble.com/Tomcat-JNI-Netbeans-tf4376281.html#a12647448 > Sent from the Tomcat - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]