首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载JNotify本机库(java.library.path中没有jnotify )

无法加载JNotify本机库(java.library.path中没有jnotify )
EN

Stack Overflow用户
提问于 2020-06-10 00:39:07
回答 1查看 338关注 0票数 0

当我尝试运行任何play项目时,我会收到以下警告,这似乎会使我的项目运行速度比平时慢得多:

代码语言:javascript
复制
Cannot load the JNotify native library (no jnotify in java.library.path)
Play will check file changes for each request, so expect degraded reloading performance.

我发现了this的问题,似乎已经解决了Windows用户的问题,但我还没有找到适用于Linux机器的解决方案

我尝试将从here下载的.jar和.so复制到/usr/lib/jvm/jdk1.8.0_212/bin/中,但没有成功

此外,我注意到在我的播放目录(~/play/repository/local/net.contentobjects.jnotify/jnotify/0.94/jars)中有一个jnotify.jar,所以我不确定它为什么不使用那个

我在Ubuntu 20.04 64位上使用Play v2.2.4

从jnotify.jar中提取.so后,ldd libjnotify.so命令的输出为:

代码语言:javascript
复制
linux-vdso.so.1 (0x00007ffd4c3cd000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f94bbed5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f94bc2df000)

它似乎没有列出任何未解析的库(尽管我不确定如何解释该输出)。libc.so.6ld-linux-x86-64.so.2存在于列出的目录中,我不确定它在哪里查找linux-vdso.so.1

如有任何帮助,我们不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-13 01:57:49

我将描述它是如何为后代解决的:

首先,下载JNotify here并解压缩

然后在终端中键入java -XshowSettings:properties,并检查java.library.path属性。在我的例子中,这里列出的第一个路径是/usr/java/packages/lib/amd64

最后,将解压缩后的文件64-bit Linux/libjnotify.so移动到java.library.path中的目录(在我的示例中为/usr/java/packages/lib/amd64)

在重新启动play之后,它起作用了

再次感谢@cbley!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62287587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档