idea如何解决no XXX in java.library.path (Java中path,-classpath,-Djava.library.path的功能和区别)
Posted on 2021-11-26 08:04 且行且思 阅读(14488) 评论(0) 收藏 举报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
 View Codejava运行时就会从这些路径下寻找动态库
3.解决no XXX in java.library.path
即在上面列出的动态库路径中没有所需的动态库文件
1.将动态库文件复制到上面路径之一中
2.手动给出路径
-Djava.library.path=动态库文件路径

设置完后将开发平台重启IDEA , 切记,再运行工程
4.手动添加jar包路径
鼠标右键,手动添加jar包目录

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

这些是项目所使用的所有jar包目录
 
                     
                    
                 
                    
                 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号