• idea如何解决no XXX in java.library.path (Java中path,classpath,Djava.library.path的功能和区别)


    1. path

    path是个系统环境变量,声明命令的搜索路径,让操作系统找到指定的工具程序。

     

     

    D:\Program Files\Java\jdk1.8.0_111\bin指定JDK工具路径,例如javac,java,jmap等,如果不配置就无法运行javac等命令。

     

    1.classpath :

    指向编译好jar包(或则其他java类包)所在的位置

    classpath设置CLASSPATH变量的目的就是让Java执行环境找到指定的Java程序对应的class文件,以及程序中引用的其他clas文件,例如:你的Java代码依赖另一个jar包,此时就需要通过IDE,如eclipse引入jar包,此时就会在Java项目的.classpath文件中生成相应配置:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
        <classpathentry including="**/*.java" kind="src" output="target/classes" path="src/main/java">
            <attributes>
                <attribute name="optional" value="true"/>
                <attribute name="maven.pomderived" value="true"/>
            </attributes>
        </classpathentry>
        <classpathentry kind="src" path="src/main/resources"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
            <attributes>
                <attribute name="maven.pomderived" value="true"/>
            </attributes>
        </classpathentry>
        <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
            <attributes>
                <attribute name="maven.pomderived" value="true"/>
            </attributes>
        </classpathentry>
        <classpathentry kind="output" path="target/classes"/>
    </classpath>

    2.java.library.path

    -cp:声明依赖的a.jar,b.jar和libs下面所有的jar包;

    -Djava.library.path:指定依赖的非Java库文件路径,也放在libs目录下面;

    1.动态库所在位置,在windows中是dll文件,在linux中是so文件,不是jar包路径

    2.输出所有动态库所在路径(不止是java的):System.out.println(System.getProperty('java.library.path'));

    下面是一部分

    View Code

    java运行时就会从这些路径下寻找动态库

    3.解决no XXX in java.library.path

    即在上面列出的动态库路径中没有所需的动态库文件

    1.将动态库文件复制到上面路径之一中

    2.手动给出路径

    -Djava.library.path=动态库文件路径

      设置完后将开发平台重启IDEA , 切记,再运行工程

     

     

     

     4.手动添加jar包路径

    鼠标右键,手动添加jar包目录

     

     然后在项目结构的Libraries中可以看到

     

    这些是项目所使用的所有jar包目录

  • 相关阅读:
    c++教程目录
    ANDROID教程目录
    ArrayBuffer
    读懂 ECMAScript 规格
    编程风格
    Module 的加载实现
    Module 的语法
    修饰器Decorator
    Class 的继承
    SQL Server 2008 R2导出数据脚本的方法
  • 原文地址:https://www.cnblogs.com/Fooo/p/15605972.html
Copyright © 2020-2023  润新知