JN_newbie
JN_newbie

Reputation: 6072

Deployment in tomcat

i am getting a problem i have deployed a war file, when i run localy through tomcat it works fine but when i run on another system by giveing my system ip and then project folder e.g

http:\192.168.0.145\DllTest it loads the applet but when i click on a button to load the functionality it is throwing an exception

Exception in thread "AWT-EventQueue-3" java.lang.UnsatisfiedLinkError: Expecting an absolute path of the library: http:\192.168.0.145:8080\DllTest\lib\jinvoke.dll

while it is working fine localy but not in another system. Please tell me what is the problem.

Is it a rights issue or something else.

Upvotes: 0

Views: 840

Answers (1)

BalusC
BalusC

Reputation: 1108722

You cannot load a DLL on an external host. It has to be an absolute disk file system -as the exception message already hints. Your best bet is to download it manually, create a temp file and load it instead.

File dllFile = File.createTempFile("jinvoke", ".dll");
InputStream input = new URL(getCodeBase(), "lib/jinvoke.dll").openStream();
OuptutStream output = new FileOutputStream(dllFile);
// Write input to output and close streams the usual Java IO way.

// Then load it using absolute disk file system path.
System.loadLibrary(dllFile.getAbsolutePath());
dllFile.deleteOnExit();

Upvotes: 2

Related Questions