Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!news.cgarbs.de!news.addix.net!feed.news.schlund.de!schlund.de!news.online.de!not-for-mail From: Philipp Kraus Newsgroups: comp.lang.java.programmer Subject: Re: loading dll within a jar Date: Tue, 4 Oct 2011 11:19:59 +0200 Organization: 1&1 Internet AG Lines: 41 Message-ID: References: <201110032353253223-angrybaldguy@gmailcom> NNTP-Posting-Host: p3ee2964c.dip0.t-ipconnect.de Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: online.de 1317719999 14011 62.226.150.76 (4 Oct 2011 09:19:59 GMT) X-Complaints-To: abuse@einsundeins.com NNTP-Posting-Date: Tue, 4 Oct 2011 09:19:59 +0000 (UTC) User-Agent: Unison/2.1.5 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:8509 On 2011-10-04 05:53:25 +0200, Owen Jacobson said: > On 2011-10-03 20:47:22 +0000, Philipp Kraus said: > >> Hello, >> >> is there a way to load a DLL library that is stored within a Jar? >> At the time I'm using the -Djava.library.path flag but I would like >> to store the DLL within the Jar and added the path dynamically. >> >> I've found some information about this eg extract the DLL to the >> temp directory and set the -D option on the main-method. >> >> Can I set also the library path to the java command like the classpath >> argument? My java classes use the a >> static { System.loadLibrary("dllname"); } >> to load the library, so can I add on the static attribute a call for loading >> the dll within the jar? >> >> Thanks >> >> Phil > > DLL files (and their Unix counterparts) are loaded by the OS's binary > image loader, which near-universally expects a program or library to > come from a file on the filesystem. A loader that's clever enough to > look inside a ZIP file is a rare beast indeed. > > Short answer, no, you can't get there from here. Unpack your .DLL > somewhere (java.io.tmpdir, for example) and load it from there. The > Java Web Start protocol includes support for native libraries > distributed inside JAR files, if you don't want to write the > unpack-and-load glue yourself and if your app is appropriate for web > start. Thanks for your answers. I will take a look to the Webstart but I think I write my own glue code Phil