TLDR:
我有一个Grails 3项目。 run-app命令运行正常。然后我将其 checkin Perforce。现在,运行应用程序失败。
细节:
%擦干净
建立成功
%grails运行应用程序
失败:生成失败,发生异常。
任务':processResources'的执行失败。
Could not copy file '/Volumes/Neo/singram/work/code/depot/dvdco/webapplications/nightcrawler/grails-app/i18n/messages.properties' to '/Volumes/Neo/singram/work/code/depot/dvdco/webapplications/nightcrawler/build/resources/main/messages.properties'.
GUESS原因:
当未 check out 文件进行编辑时,Perforce将使该文件不可写(chmod a-w)。尽我所知,run-app调用gradle的processResources成功复制了有问题的文件一次,然后似乎在相同的构建周期中尝试再次复制它,但由于新复制的文件不可写,因此无法被覆盖而失败。本身的副本。
周围的工作
如果我先 checkout 整个项目以进行编辑,则run-app命令成功。真的不需要这样做,因为它会导致在 checkin 过程中出错。
题:
有比我的解决方法更好的方法吗?为什么gradle的processResources会多次复制相同的文件?我可以使用“chmod -R u + w build”连接到processResources或run-app吗?
最佳答案
几种选择,方法。 1)将文件类型(如果由Perforce控制)更改为+ w以使其可写;或2)更改工作区规范以包括“allwrite”选项,以使所有文件可写。 –
关于grails - 由于perforce VCS设置了文件权限,grails 3 Run-app失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37014893/