It seems that when TC's running as a service, it ignores the drive prefix on the windows PATH. The DLLs were on drive D: and even though that's what was in the PATH, they still couldn't be found. I was able to resolve the problem 2 different ways:
(a) Move the DLLs to C:, change the path to reflect that, then restart Tomcat service.
(b) Uninstall the Tomcat service, re-install it using the -path option to point to the D: directory DLLs.
I'm sure there's an explanation as to why the drive either defaults to C: or is being ignored when TC is running as an NT service, but in any case I solved the problem.
Mark
At 2/13/2004 05:04 PM, you wrote:
For JNI the dlls need to be in the VM's java.library.path . This is usually set when the vm is started on the command line with something like -Djava.library.path="C:\my dll folder" . I have no idea where you set this for tomcat, and I don't think you can set it in java either.
Jon M
-----Original Message----- From: Mark [mailto:[EMAIL PROTECTED] Sent: 13 February 2004 16:48 To: [EMAIL PROTECTED] Subject: JNI InvocationTargetException w/Tomcat service
I have an Axis web service that needs to utilize numerous JNI C++ components under Win2k. Putting the location of the .DLL/.LIB files in the system PATH works fine when running Tomcat in standalone console mode. However, when Tomcat is run as a service I get the following error when attempts at using the DLLs are made:
java.lang.reflect.InvocationTargetException
I've searched the Axis mail archives and seen where it's been suggested putting the components under System32 directory but due to the sheer volume, I'd prefer not doing that if at all possible.
Anyone experienced/solved this problem when runningTomcat as a service?
Thanks in advance. Mark
This e-mail may contain privileged and confidential information and should not be used by anyone who is not the original intended recipient(s). If you have received this e-mail in error, please notify us immediately by using the reply facility on your e-mail system.