国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Windows > 正文

Windows環境下Java加載DLL

2020-05-27 13:11:41
字體:
來源:轉載
供稿:網友

   How to Load a Java Native/Dynamic Library (DLL)

  There are several ways to make it possible for the Java runtime to find and load a dynamic library (DLL) at runtime. I will list them briefly here, followed by examples and further explanation below.

  Call System.load to load the DLL from an explicitly specified absolute path.

  Copy the DLL to one of the paths already listed in java.library.path

  Modify the PATH environment variable to include the directory where the DLL is located.

  Specify the java.library.path on the command line by using the -D option.

  If using Eclipse, set the java.library.path in Eclipse for development/debugging.

  1. Call System.load to load the DLL from an explicitly specified absolute path.

  This choice removes all uncertainty, but embeds a hard-coded path within your Java application. Example:

  import com.chilkatsoft.CkZip;public class Test { static { try { System.load("C:/chilkatJava/chilkat.dll"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load./n" + e); System.exit(1); } } public static void main(String argv[]) { CkZip zip = new CkZip(); System.out.println(zip.version()); }}

  2. Copy the DLL to one of the paths already listed in java.library.path

  To see the current value of the PATH environment variable, open a MS-DOS prompt and type:

  echo %PATH%

  Another way of viewing the java.library.path is to run this Java code:

  String property = System.getProperty("java.library.path");StringTokenizer parser = new StringTokenizer(property, ";");while (parser.hasMoreTokens()) { System.err.println(parser.nextToken()); }

  Note: The java.library.path is initialized from the PATH environment variable. The directories may be listed in a different order, and the current directory "." should be present in java.library.path, but may not be listed in the PATH environment variable.

  The loadLibrary method may be used when the directory containing the DLL is in java.library.path. To load "chilkat.dll", call System.loadLibrary("chilkat"), as shown here:

  import com.chilkatsoft.CkZip;public class Test { static { try { System.loadLibrary("chilkat"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load./n" + e); System.exit(1); } } public static void main(String argv[]) { CkZip zip = new CkZip(); System.out.println(zip.version()); } }

  3. Modify the PATH environment variable to include the directory where the DLL is located.

  Do this by modifying the PATH environment variable from the Windows Control Panel.

  Set PATH on Windows XP:

  Start -> Control Panel -> System -> Advanced

  Click on Environment Variables, under System Variables, find PATH, and click on it.

  In the Edit windows, modify PATH by adding the location of the class to the value for PATH. If you do not have the item PATH, you may select to add a new variable and add PATH as the name and the location of the class as the value.

  Close the window.

  Reopen Command prompt window, and run your java code.

  Set Path on Windows Vista:

  Right click “My Computer” icon

  Choose “Properties” from context menu

  Click “Advanced” tab (“Advanced system settings” link in Vista)

  In the Edit windows, modify PATH by adding the location of the class to the value for PATH. If you do not have the item PATH, you may select to add a new variable and add PATH as the name and the location of the class as the value.

  Reopen Command prompt window, and run your java code.

  Important: Setting the PATH environment variable from a MS-DOS command prompt has no effect on java.library.path. For example, this does not work:

  set PATH=c:/chilkatJava;%PATH%java Test

  Also, modifying the java.library.path from within Java code does not work either:

  static { try { // Adding a directory to java.library.path here will not change anything. // System.loadLibrary will still look in the directories listed in java.library.path // as it existed at the very start of the program. // The extra directory path added to java.library.path will not // be searched by loadLibrary. String libpath = System.getProperty("java.library.path"); libpath = libpath + ";C:/chilkatJava"; System.setProperty("java.library.path",libpath); System.loadLibrary("chilkat"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load./n" + e); System.exit(1); } }

  4. Specify the java.library.path on the command line by using the -D option.

  For example:

  java -Djava.library.path=c:/chilkatJava TestApp

  5. If using Eclipse, set the java.library.path in Eclipse for development/debugging.

  Open Project->Properties, select “Java Build Path”, click on the “Add External JARs…” button and add the “chilkat.jar”

  (still within the Project Properties dialog) Click on the “Run/Debug Settings”, select your Java class, then click on the “Edit…” button. Select the “Arguments” tab, then add -Djava.library.path=”C:/chilkatJava;${env_var:PATH}” where “C:/chilkatJava” is the directory path containing the “chilkat.dll” file.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 敖汉旗| 百色市| 富蕴县| 榆林市| 康马县| 吉木乃县| 安西县| 星座| 西畴县| 蒲城县| 桐乡市| 桐城市| 江北区| 扎囊县| 平阳县| 建瓯市| 方正县| 蒙阴县| 肇庆市| 辉县市| 郎溪县| 利津县| 丽水市| 德阳市| 塔河县| 榕江县| 贡山| 通许县| 芜湖市| 灌云县| 沅江市| 错那县| 顺平县| 咸丰县| 揭阳市| 上饶市| 永寿县| 襄樊市| 丹阳市| 衢州市| 陇川县|