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包目录


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM