Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
注入构造函数java.nio.file.AccessDeniedException时出错_Java_Playframework_Nio_Ioexception - Fatal编程技术网

注入构造函数java.nio.file.AccessDeniedException时出错

注入构造函数java.nio.file.AccessDeniedException时出错,java,playframework,nio,ioexception,Java,Playframework,Nio,Ioexception,我遇到了一个异常(java.nio.file.AccessDeniedException),我不知道它背后的原因 当prod.conf中的play.http.secret.key不正确时,是否会发生这种情况,或者这是其他凭证不正确的症状 Oops, cannot start the server. com.google.inject.CreationException: Unable to create injector, see the following errors: 1) Error

我遇到了一个异常(
java.nio.file.AccessDeniedException
),我不知道它背后的原因

prod.conf
中的
play.http.secret.key
不正确时,是否会发生这种情况,或者这是其他凭证不正确的症状

Oops, cannot start the server.
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) Error injecting constructor, java.nio.file.AccessDeniedException: /tmp/playtemp5604435787006203928
  at play.api.libs.Files$DefaultTemporaryFileCreator.<init>(Files.scala:145)
  at play.api.libs.Files$DefaultTemporaryFileCreator.class(Files.scala:142)
  while locating play.api.libs.Files$DefaultTemporaryFileCreator
  while locating play.api.libs.Files$TemporaryFileCreator    
Caused by: java.nio.file.AccessDeniedException: /tmp/playtemp5604435787006203928
Oops,无法启动服务器。
com.google.inject.CreationException:无法创建注入器,请参阅以下错误:
1) 注入构造函数java.nio.file.AccessDeniedException:/tmp/playtemp5604435787006203928时出错
play.api.libs.Files$DefaultTemporaryFileCreator。(Files.scala:145)
at play.api.libs.Files$DefaultTemporaryFileCreator.class(Files.scala:142)
查找play.api.libs.Files$DefaultTemporaryFileCreator时
查找play.api.libs.Files$TemporaryFileCreator时
原因:java.nio.file.AccessDeniedException:/tmp/playtemp5604435787006203928

看起来您的应用程序无法在系统上执行文件操作,因此:

文件名/路径:仔细检查应用程序中使用的文件名和路径

prod.conf:我不知道您的
prod.conf
中有什么,但我主要将其用于其他API(如AWS)的环境变量;或数据库凭据。所以我不认为是
prod.conf
造成了你的问题;除非您添加了您的生产超级用户信誉;这就引出了最后一点


您的应用程序不应该是超级用户:请注意,您不应该让应用程序执行“sudo/superuser”操作(例如,更新基础操作系统)。所以,如果你这样做,请避免。如果造成混乱,那么您可能最终被锁定在生产环境之外。当然,这里的例外是,如果您的web应用程序是集群管理系统;例如,显然它可能需要执行超级用户操作

问题与凭证无关。问题是无法创建或更新文件
/tmp/playtemp5604435787006203928
。你在哪个操作系统上运行?谢谢@RobinGreen这才是问题所在。谢谢@Dave Rose。目录/文件权限是问题所在。prod.conf和应用程序不是超级用户,请在我的情况下签出。@abby不用担心,很高兴你能解决它。