开发者

Where to put DLL file?

I am calling C++ method using DLL file in my Java project. Right now, I have hard coded the path.

The application will be deployed on many machines and it also run on multiple machine. Where should I put my DLL file so that I can load it and call 开发者_JAVA百科it on any machine?


I've seen applications that put the DLL into the JAR file. At run-time, they extract the DLL from the JAR into a temporary directory and then access it there.

It's not the most efficient approach but the easiest from a deployment perspective.


You have to make sure your DLL is in the classpath.

One such way to do so is to put the path to the DLL in PATH environment variable.

Other option is to add it to the VM arguments in the variable LD_LIBRARY_PATH, like this:

java -Djava.library.path=/path/to/my/dll -cp /my/classpath/goes/here MainClass

If you are developing a complex application, that has to be stable you have to ensure that the DLL you need is put somewhere, where the OS is going to look for it, probably think of an installer script/program.


C:\WINDOWS\system32 (assuming C is the drive where windows is installed, probably you can get it from registry)

I used to use windows long time ago & not an expert, so I made a google search for you and find the link http://vlaurie.com/computers2/Articles/dll.htm

See the last topic in the link (the one starting with headline Using Regsvr32.exe to Register DLLs)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜