Hi again,

I think I solved the problem.

Like I wrote, using
System.loadLibrary("win32com.dll");
didn't work, neither did
CommDriver commDriver = (CommDriver) Class.forName("com.sun.comm.Win32Driver").newInstance();
commDriver.initialize();

But initializing the driver using
Class clazz = this.getClass().getClassLoader().loadClass("com.sun.comm.Win32Driver");
CommDriver driver = (CommDriver) clazz.newInstance();
driver.initialize();
worked!! The driver did initialize correctly and the connection to the serial port was established!

Maybe the problem came up because Tomcat uses it's own classloader.

Now It is even not necessary anymore to set the java.library.path.

The win32com.dll is located in the WEB-INF/lib directory.

2 ways
place the dll in jre\bin add folder where win32com.dll is located to LD_LIBRARY_PATH in jvm.cfg? restart
The reason why I didn't want to do so, is because I wanted all the needed stuff to be in the webapp directory, so that anyone can deploy the webapp remotely via the Tomcat-Manager and doesn't have to bother about setting path variables and doing other things on the machine where the server is running.

However, thanks a lot for helping me. I'm glad that it was easier than I thought.


Best regards,

Abid



M-
--------------------------------------------------------------------------- This e-mail message (including attachments, if any) is intended for the use of the individual or entity to which it is addressed and may contain information that is privileged, proprietary , confidential and exempt from disclosure. If you are not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. --------------------------------------------------------------------------- Le présent message électronique (y compris les pièces qui y sont annexées, le cas échéant) s'adresse au destinataire indiqué et peut contenir des renseignements de caractère privé ou confidentiel. Si vous n'êtes pas le destinataire de ce document, nous vous signalons qu'il est strictement interdit de le diffuser, de le distribuer ou de le reproduire. ----- Original Message ----- From: "Abid Hussain" <[EMAIL PROTECTED]>
To: <users@tomcat.apache.org>
Sent: Friday, December 15, 2006 9:03 AM
Subject: using a dll in a webapp


Hi everybody,

I want to establish a connection to a serial port from my webapp by using the javax.comm package which uses the win32com.dll (on windows systems).

In most cases, it seems to be the common way to place the dll in the <jre>/bin directory. But I want to have all needed libraries in my webapp directory.

Therefore, I resolve the path of the dll in my webapp:
String win32com = new File(this.getClass().getClassLoader().getResource("win32com.dll").toURI()).getPath();

Now, I add the path to the java.library.path property:
System.setProperty("java.library.path", System.getProperty("java.library.path") + File.pathSeparator + win32com);

When I now output the java.library.path on the console (using System.getProperty("java.library.path")) the dll is in the path.

Now, I try to load the dll:
System.loadLibrary("win32com.dll");

And this fails. The Error message is:
java.lang.UnsatisfiedLinkError: no win32com.dll in java.library.path

I wonder how it's possible that the dll seems not to be in the java.library.path although I just added it - has anybody an idea?

Thanks a lot for helping.

Best regards,

Abid


--

Abid Hussain
Mail: [EMAIL PROTECTED]
Web: http://www.abid76.de

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--

Abid Hussain
Mail: [EMAIL PROTECTED]
Web: http://www.abid76.de

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to