简体   繁体   English

classpath和java.library.path之间的区别? 如何在Linux和Windows中设置它?

[英]Difference between classpath & java.library.path ? How to set it in linux & windows?

Here is my problem - I get error pop up like - "no XXX in java.library.path" // Note: XXX is some .dll of API 这是我的问题-我会弹出错误消息,例如-“ java.library.path中没有XXX” //注意:XXX是API的某些.dll

Actually I am running .jnlp file; 实际上我正在运行.jnlp文件; which starts java web start. 这将启动Java Web Start。 Software installation instruction says install jre 32 bit in order to run. 软件安装说明说要安装jre 32位才能运行。 I use linux mint which is 64 bit & already have jre 64 which i use for other purpose. 我使用的是64位的Linux Mint,并且已经有用于其他用途的jre 64。

If installation instructions say to install a 32-bit JRE to run the program, then that's what you'll have to do. 如果安装说明说要安装32位JRE来运行程序,那么这就是您要做的。 A 32-bit native library won't work with a 64-bit process (which a 64-bit JRE creates). 32位本机库不适用于64位进程(由64位JRE创建)。 32-bit and 64-bit JRE can live side by side on the same computer - this should not be a problem. 32位和64位JRE可以在同一台计算机上并存-这应该不是问题。

Don't worry about the library path, Java web start will take care of it for you. 不用担心库路径,Java Web start会为您处理。

You do need to specify the native libraries with <nativelib> tags, instead of regular <jar> tags in the JNLP file. 您确实需要使用<nativelib>标签而不是JNLP文件中的常规<jar>标签来指定本机库。 Example for the LWJGL library: LWJGL库的示例:

  <resources>
    <jar href="lwjgl.jar"/>
    <jar href="lwjgl_util.jar"/>
  </resources>

  <!-- LWJGL Linux 64-bit native libraries -->
  <resources os="Linux" arch="amd64">
    <nativelib href="lwjgl-amd64-linux.jar"/>
  </resources>
  <resources os="Linux" arch="x86_64">
    <nativelib href="lwjgl-amd64-linux.jar"/>
  </resources>

  <!-- LWJGL Linux 32-bit native libraries -->
  <resources os="Linux" arch="x86">
    <nativelib href="lwjgl-x86-linux.jar"/>
  </resources>
  <resources os="Linux" arch="i386">
    <nativelib href="lwjgl-x86-linux.jar"/>
  </resources>

  <!-- LWJGL Windows 64-bit native libraries -->
  <resources os="Windows" arch="amd64">
    <nativelib href="lwjgl-amd64-win.jar"/>
  </resources>
  <resources os="Windows" arch="x86_64">
    <nativelib href="lwjgl-amd64-win.jar"/>
  </resources>

  <!-- LWJGL Windows 32-bit native libraries -->
  <resources os="Windows" arch="x86">
    <nativelib href="lwjgl-x86-win.jar"/>
  </resources>
  <resources os="Windows" arch="i386">
    <nativelib href="lwjgl-x86-win.jar"/>
  </resources>

  <!-- LWJGL MAC OS/X native libraries -->
  <resources os="Mac">
    <nativelib href="lwjgl-macosx.jar"/>
  </resources>

In your case I suppose you only have 32-bit native libs, and perhaps not for many operating systems. 在您的情况下,我想您只有32位本机库,也许对于许多操作系统来说不是。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM