java.io.IOException:在客户机上运行 grails webapp 时函数不正确 os

java.io.IOException: Incorrect function while runing grails webapp on guest os

我有一个简单的 grails 应用程序,它在我的系统上运行良好,但很难与其他人分享它,因为每个人都有一些不同的设置,所以我认为创建 vagrant box 这样每个人都可以 运行 它在 os 上具有相同的设置。好的,让我们开始讨论访客 os 我也可以 运行 应用程序(应用程序在共享文件夹中)但我收到错误

Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Incorrect function.

at org.grails.io.watch.WatchServiceDirectoryWatcher.addWatchDirectory(WatchServiceDirectoryWatcher.java:183)
at org.grails.io.watch.WatchServiceDirectoryWatcher.addWatchDirectory(WatchServiceDirectoryWatcher.java:153)
at org.grails.io.watch.DirectoryWatcher.addWatchDirectory(DirectoryWatcher.java:111)
at grails.boot.GrailsApp.configureDirectoryWatcher(GrailsApp.groovy:299)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:174)
at grails.boot.GrailsApp.enableDevelopmentModeWatch(GrailsApp.groovy:110)
at grails.boot.GrailsApp.run(GrailsApp.groovy:65)
at grails.boot.GrailsApp.run(GrailsApp.groovy:347)
at grails.boot.GrailsApp.run(GrailsApp.groovy:336)
at grails.boot.GrailsApp$run.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
at baseapp.Application.main(Application.groovy:8)

原因:java.io.IOException:功能不正确。

at sun.nio.fs.WindowsWatchService$Poller.implRegister(WindowsWatchService.java:420)
at sun.nio.fs.AbstractPoller.processRequests(AbstractPoller.java:260)
at sun.nio.fs.WindowsWatchService$Poller.run(WindowsWatchService.java:580)
at java.lang.Thread.run(Thread.java:745)

我试图找出问题所在,所以我基于 WatchServiceDirectoryWatch.java 的唯一猜测是 grails 正在尝试设置一些它将扫描的目录(我不知道为什么?)但是因为项目在共享文件夹中,grails 试图设置它无权访问的目录(猜测)。我的问题是我该怎么做才能不收到这些错误?

我认为你应该更深入地研究 grails.boot.GrailsApp at grails.boot.GrailsApp.configureDirectoryWatcher(GrailsApp.groovy:299)

Creates and returns a file change listener for notifying the plugin manager of changes.

然后 at grails.boot.GrailsApp.enableDevelopmentModeWatch(GrailsApp.groovy:110) 它位于名为 enableDevelopmentModeWatch.

的函数中