在升级之前,我们的应用程序为v2.1.1,我收到了关于没有JNotify的警告。据我所知,没有害处。然而,在迁移到v2.3.1之后,警告变成了一个停止显示的异常。我编译并尝试运行并接收以下输出:
java.lang.NoClassDefFoundError: Could not initialize class net.contentobjects.jnotify.JNotify
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at play.PlayReloader$$anon$1$$anon$7.removeWatch(PlayReloader.scala:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at play.PlayReloader$$anon$1.liftedTree1$1(PlayReloader.scala:119)
at play.PlayReloader$$anon$1.jnotify$lzycompute(PlayReloader.scala:60)
at play.PlayReloader$$anon$1.jnotify(PlayReloader.scala:40)
at play.PlayReloader$$anon$1$$anonfun$10.apply(PlayReloader.scala:155)
at play.PlayReloader$$anon$1$$anonfun$10.apply(PlayReloader.scala:155)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at play.PlayReloader$$anon$1.<init>(PlayReloader.scala:155)
at play.PlayReloader$class.newReloader(PlayReloader.scala:24)
at play.Play$.newReloader(Project.scala:17)
at play.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$1.reloader$lzycompute$1(PlayRun.scala:175)
at play.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$1.play$PlayRun$class$$anonfun$$anonfun$$reloader$1(PlayRun.scala:175)
at play.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$1.apply(PlayRun.scala:198)
at play.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$1.apply(PlayRun.scala:98)
at scala.Function9$$anonfun$tupled$1.apply(Function9.scala:35)
at scala.Function9$$anonfun$tupled$1.apply(Function9.scala:34)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) java.lang.NoClassDefFoundError: Could not initialize class net.contentobjects.jnotify.JNotify我做了一些调查,并且我知道JNotify库应该是可用的,因为我在激活器/存储库/以及user/.I 2/cache/存储库中都找到了一个v0.94 jar (以及我正在获取的所有自定义依赖项)。[此外,我将它放在本地Maven存储库中,并将其添加为Build.scala中的一个依赖项,在编译过程中,它似乎也没有发现问题。)有没有什么我错过的手动程序是必需的?据我所知,它应该适用于应用程序。
(我知道v2.3.2的发行说明中有一个关于JNotify的注释,但这似乎是另一个问题,在V2.3.1中没有提到一个重要的bug。)
发布于 2014-08-08 14:01:31
经过进一步调查,这似乎是由于v2.3.1中的一个错误,在第2.3.2节中已经解决了这个问题。bug报告在这里:https://github.com/playframework/playframework/issues/2946。该bug与bug报告中描述的内容不同,但是重复它的过程涉及一些相同的步骤。对于目前使用v2.3.1的用户来说,一个解决方法就是避免在激活器控制台中使用“reload”命令。如果需要重新加载,则退出激活程序并重新启动它,因为此工作流不会导致此问题。
编辑:找到更多的错误报告--其中一个描述了遇到的问题。
https://github.com/playframework/playframework/issues/3170 https://github.com/playframework/playframework/pull/2620
https://stackoverflow.com/questions/25191281
复制相似问题