idea如何解决no XXX in java.library.path (Java中path,-classpath,-Djava.library.path的功能和区别)
Posted on 2021-11-26 08:04 且行且思 阅读(13436) 评论(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'));
下面是一部分

java运行时就会从这些路径下寻找动态库
3.解决no XXX in java.library.path
即在上面列出的动态库路径中没有所需的动态库文件
1.将动态库文件复制到上面路径之一中
2.手动给出路径
-Djava.library.path=动态库文件路径
设置完后将开发平台重启IDEA , 切记,再运行工程
4.手动添加jar包路径
鼠标右键,手动添加jar包目录
然后在项目结构的Libraries中可以看到
这些是项目所使用的所有jar包目录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2020-11-26 阿里云服务器windows server 2008安装ftp
2008-11-26 .Net 程序完美加密工具: dotfuscator 下载及介绍
2008-11-26 在服务器上部署VS 2008 ReportViewer,完美支持中文
2008-11-26 在Winform的DataGridView的单元格中同时显示文本和图标,以及树形结构的示例
2008-11-26 VS2005 DataGridView 和 GirdView 横向大比拼
2006-11-26 恢复误删数据(SQL Server 2000)--Log Explorer