当我尝试运行任何play项目时,我会收到以下警告,这似乎会使我的项目运行速度比平时慢得多:
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命令的输出为:
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.6和ld-linux-x86-64.so.2存在于列出的目录中,我不确定它在哪里查找linux-vdso.so.1
如有任何帮助,我们不胜感激!
发布于 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!
https://stackoverflow.com/questions/62287587
复制相似问题