using a dll in a webapp - Fixed! 2006-12-15 - By Abid Hussain
Back 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" <abid.hussain@(protected)> > To: <users@(protected)> > 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: abid.hussain@(protected) >> Web: http://www.abid76.de >> >> -- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------ >> To start a new topic, e-mail: users@(protected) >> To unsubscribe, e-mail: users-unsubscribe@(protected) >> For additional commands, e-mail: users-help@(protected) >> >>
--
Abid Hussain Mail: abid.hussain@(protected) Web: http://www.abid76.de
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------ To start a new topic, e-mail: users@(protected) To unsubscribe, e-mail: users-unsubscribe@(protected) For additional commands, e-mail: users-help@(protected)
|
|