![]() |
|
|
|
#1 |
|
Posts: n/a
|
Why can't I put my dll in a jar and load it just like I load my icons? Daniel |
|
|
|
#2 |
|
Posts: n/a
|
"DeMarcus" <> schreef in bericht
news > > Why can't I put my dll in a jar and load it > just like I load my icons? Because dll's are libraries and icons are regular resources. |
|
|
|
#3 |
|
Posts: n/a
|
Boudewijn Dijkstra wrote:
> "DeMarcus" <> schreef in bericht > news > >>Why can't I put my dll in a jar and load it >>just like I load my icons? > > > Because dll's are libraries and icons are regular resources. And what good would a DLL do if you aren't running your Java app on Windows...? -- JustThe.net - Apple Valley, CA - http://JustThe.net/ - 888.480.4NET (463 Steven J. Sobol, Geek In Charge / / PGP: 0xE3AE35ED "The wisdom of a fool won't set you free" --New Order, "Bizarre Love Triangle" |
|
|
|
#4 |
|
Posts: n/a
|
I'm guessing that most JVMs uses the function LoadLibraryEx for windows
and dlopen for unix. Both of these C functions take a string which gets mapped to a file (in most cases). Niether of these C functions know how to load libraries out of jar or zip files. In order for a java application to load these from a jar, they would probably have to extract the dll's or SO's from the jar to the filesystem. You could do this manually in your static initializer if you really wanted to. I believe that there is an option to specify native libraries, for use in webstart applications, downloaded from a webserver. You might take a look at how webstart does it, or just use webstart for deployment. Basically, loading executable native code into a process space is beyond the scope and control of the JVM and the JVM has to fit within the confines of the OS. I'm guessing that you are running into some deployment issues. You might want to describe the environment and the problems you are having. However, you might just be curious....... |
|
|
|
#5 |
|
Posts: n/a
|
DeMarcus <> writes:
> Why can't I put my dll in a jar and load it > just like I load my icons? Because Windows doesn't look for DLLs in jars. |
|
|
|
#6 |
|
Posts: n/a
|
Steve Sobol wrote: > Boudewijn Dijkstra wrote: > >> "DeMarcus" <> schreef in bericht >> news >> >>> Why can't I put my dll in a jar and load it >>> just like I load my icons? >> >> >> >> Because dll's are libraries and icons are regular resources. > > > And what good would a DLL do if you aren't running your Java app on > Windows...? > > You've got a point there. |
|
|
|
#7 |
|
Posts: n/a
|
wrote: > I'm guessing that most JVMs uses the function LoadLibraryEx for windows > and dlopen for unix. Both of these C functions take a string which > gets mapped to a file (in most cases). Niether of these C functions > know how to load libraries out of jar or zip files. > > In order for a java application to load these from a jar, they would > probably have to extract the dll's or SO's from the jar to the > filesystem. You could do this manually in your static initializer if > you really wanted to. > > I believe that there is an option to specify native libraries, for use > in webstart applications, downloaded from a webserver. You might take > a look at how webstart does it, or just use webstart for deployment. > > Basically, loading executable native code into a process space is > beyond the scope and control of the JVM and the JVM has to fit within > the confines of the OS. > > I'm guessing that you are running into some deployment issues. You > might want to describe the environment and the problems you are having. > However, you might just be curious....... > I was just curious why System.loadLibrary() can't take a URL instead of a String, but the fact that it violates portability having a dll in a jar may be a good explanation to me. |
|
|
|
#8 |
|
Junior Member
Join Date: May 2006
Posts: 1
|
Hi
This works:
Assuming the library reside on the class path as a resource of ResourceLocator class. Code:
Last edited by eytan : 05-12-2006 at 02:49 AM. |
|
|
|