问题标签 [jnotify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
204 浏览

java - JNotify 何时通知创建文件

假设 JNotify 正在侦听名为 A 的文件夹,并且我将文件 f 从文件夹 B 复制到 A,该文件夹 B 不属于 A 的子目录。JNotify 将在什么确切时间点通知。

1)是否在开始写入新文件时,即在文件上调用 open() 以写入文件时?

或者

2) 是在新文件完全写入并关闭之后,即在完成写入文件后对文件调用 close() 时?

而且我不确定复制文件是否涉及写入文件。但我想它应该这样做。

我想知道ubuntu(Linux)中的场景。非常感谢任何参考。

0 投票
1 回答
3257 浏览

playframework - Play Framework:无法加载 JNotify 本机库

在我的 Windows 10 机器上启动 Play 项目时出现问题(在 Win 7 上运行良好)

当我执行“激活器运行”时,我得到以下信息:

我尝试了很多事情都没有成功。我试过改变:

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.2")

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.2")

我得到另一个错误:

所以,这是我目前的环境设置(更改 sbt-plugin 会导致第二个问题)

scalaVersion := "2.10.3" -> 来自 build.sbt

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.2") -> 来自 plugins.sbt

sbt.version=0.13.1 -> 来自 build.properties

同样,我在 Win 10(64 位)上

这里真的需要一些帮助,被困了几天。

0 投票
1 回答
2546 浏览

activator - 播放框架,类型安全激活器:“加载 JNotify 监视服务时出错:java.library.path 中没有 jnotify”

我正在尝试通过类型安全激活器 1.3 打开现有应用程序。错误消息说 Java 库中缺少 JNotify,但我还将 jnotify_64bit.dll 文件添加到“/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/bin”目录中。但我仍然面临错误。下面是日志。我被困在这里已经有一段时间了,我真的需要一些帮助。

java.lang.UnsatisfiedLinkError: 在 java.lang.System 的 java.lang.Runtime.loadLibrary0(Runtime.java:870) 的 java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) 的 java.library.path 中没有 jnotify .loadLibrary(System.java:1122) at net.contentobjects.jnotify.macosx.JNotify_macosx.(Unknown Source) at net.contentobjects.jnotify.macosx.JNotifyAdapterMacOSX.(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method ) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在 java .lang.Class.newInstance(Class.java:442) 在 net.contentobjects.jnotify.JNotify。(未知来源)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang .reflect.Method.invoke(Method.java:498) at play.runsupport.JNotifyPlayWatchService$JNotifyDelegate.ensureLoaded(PlayWatchService.scala:168) at play.runsupport.JNotifyPlayWatchService$$anonfun$5.apply(PlayWatchService.scala:223) at play.runsupport.JNotifyPlayWatchService$$anonfun$5.apply(PlayWatchService.scala:179) 在 scala.util.control.Exception$Catch$$anonfun$withTry$1.apply(Exception.scala:129) 在 scala.util.control。异常$Catch$$anonfun$withTry$1.apply(Exception.scala:129) at scala.util.control.Exception$Catch.apply(Exception.scala:102) 在 scala.util.control.Exception$Catch.withTry(Exception.scala:129) 在 play.runsupport.JNotifyPlayWatchService$.apply(PlayWatchService.scala:179) 在 play.runsupport.PlayWatchService$$anon$1.delegate$ lzycompute(PlayWatchService.scala:65) at play.runsupport.PlayWatchService$$anon$1.delegate(PlayWatchService.scala:61) at play.runsupport.PlayWatchService$$anon$1.watch(PlayWatchService.scala:74) at play.runsupport .Reloader.(Reloader.scala:268) at play.runsupport.Reloader$.reloader$lzycompute$1(Reloader.scala:174) at play.runsupport.Reloader$.play$runsupport$Reloader$$reloader$1(Reloader.scala :174) at play.runsupport.Reloader$.startDevMode(Reloader.scala:197) at play.forkrun.ForkRun$.startServer(ForkRun.scala:82) at play.forkrun.ForkRun.run(ForkRun.scala:173)在 play.forkrun。ForkRun$$anonfun$settingUp$1.applyOrElse(ForkRun.scala:162) at akka.actor.Actor$class.aroundReceive(Actor.scala:465) at play.forkrun.ForkRun.aroundReceive(ForkRun.scala:148) at akka .actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254) at akka.dispatch.Mailbox。在 akka.dispatch.Mailbox.exec(Mailbox.scala:231) 在 scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 在 scala.concurrent.forkjoin.ForkJoinPool$WorkQueue 运行(Mailbox.scala:221) .runTask(ForkJoinPool.java:1339) 在 scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)162) at akka.actor.Actor$class.aroundReceive(Actor.scala:465) at play.forkrun.ForkRun.aroundReceive(ForkRun.scala:148) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254) at akka.dispatch.Mailbox.run(Mailbox.scala:221) at akka.dispatch.Mailbox .exec(Mailbox.scala:231) 在 scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 在 scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 在 scala.concurrent。 forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)162) at akka.actor.Actor$class.aroundReceive(Actor.scala:465) at play.forkrun.ForkRun.aroundReceive(ForkRun.scala:148) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254) at akka.dispatch.Mailbox.run(Mailbox.scala:221) at akka.dispatch.Mailbox .exec(Mailbox.scala:231) 在 scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 在 scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 在 scala.concurrent。 forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)scala:148) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254) at akka.dispatch.Mailbox.run(Mailbox.scala:221) at akka.dispatch.Mailbox.exec(Mailbox.scala:231) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent .forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 在 scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)scala:148) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254) at akka.dispatch.Mailbox.run(Mailbox.scala:221) at akka.dispatch.Mailbox.exec(Mailbox.scala:231) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent .forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 在 scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)在 akka.dispatch.Mailbox.exec(Mailbox.scala:231) 在 scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 在 scala.concurrent.forkjoin.ForkJoinPool$WorkQueue 运行(Mailbox.scala:221) .runTask(ForkJoinPool.java:1339) 在 scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)在 akka.dispatch.Mailbox.exec(Mailbox.scala:231) 在 scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 在 scala.concurrent.forkjoin.ForkJoinPool$WorkQueue 运行(Mailbox.scala:221) .runTask(ForkJoinPool.java:1339) 在 scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

0 投票
3 回答
690 浏览

java - 在 Catalina 上全新安装后尝试使用 sbt 运行 Play Scala 应用程序时出错:“加载 JNotify 监视服务时出错:null”

移至 Catalina 并重新安装所有内容后,无法运行我的 Play Scala 应用程序。

这样做sbt之后run,我得到这个错误:

一切都是用这个 brewfile 中的 brew 安装的(我没有粘贴完整的文件):

爪哇版:

sbt: 0.13.18 播放: 2.6.20 os x: 10.15.3 (19D76)

0 投票
1 回答
421 浏览

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

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

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

我尝试将从这里下载的 .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命令的输出为:

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

任何帮助表示赞赏!

0 投票
2 回答
90 浏览

java - jnotify - 检测到文件时使用其他任何东西代替 Thread.Sleep

我真的需要一些帮助。

我采用了 JNOTIFY 方法来检测目录中的任何新文件。当文件到达时,侦听器通知该位置有一个新文件。

我尝试过这个,我添加了对我的设置函数的调用,以便在检测到文件后调用我的设置函数。

我的问题是 //Thread.sleep(1000000) 我觉得这不是一种安全的方法,我想知道是否有任何其他方法可以用来代替 Thread.Sleep,因为必须执行此函数一旦每次有新文件可用并且最终将删除旧文件等等,我无法将 Sleep 设置为 short ,它只会忽略并继续 Base.Setup()

我基本上需要我的框架来继续轮询该目录,并且每次它将执行基本设置过程并遵循工作流程,删除文件然后再次轮询等等。

有人可以请教吗?