代码之家  ›  专栏  ›  技术社区  ›  Pratik

如何添加jar文件并使用命令提示符进行编译?(错误:发生JNI错误,请检查您的安装)

  •  2
  • Pratik  · 技术社区  · 9 年前

    我从github分叉了一个项目,当我想运行它时,它会出错。我添加了 org.json jar文件到 jdk\lib 并将Path变量设置为它。我编译了代码,但它没有错误,但当我运行它时,我得到如下异常:(我使用命令提示符运行它)

    Error: A JNI error has occurred, please check your installation and
    try again Exception in thread "main" java.lang.NoClassDefFoundError:
    org/json/JSONExceptio n
            at java.lang.Class.getDeclaredMethods0(Native Method)
            at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
            at java.lang.Class.privateGetMethodRecursive(Unknown Source)
            at java.lang.Class.getMethod0(Unknown Source)
            at java.lang.Class.getMethod(Unknown Source)
            at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
            at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) Caused by: java.lang.ClassNotFoundException:
    org.json.JSONException
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
    

    …7更多

    1 回复  |  直到 9 年前
        1
  •  3
  •   ankhzet    8 年前

    将所需的jar添加到类路径,如下所示:

    1. 对于*nix类系统:

      export CLASSPATH=<path-to-app>/myapp.jar:<path-to-app>/lib/json.jar:.
      java MyApp
      
    2. 对于Windows:

      set CLASSPATH=<path-to-app>/myapp.jar;<path-to-app>/lib/json.jar;.
      java MyApp
      

    …或通过清单:

    Manifest-Version: 1.0
    Main-Class: MyApp
    Class-Path: /lib/json.jar