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]