我遇到了异常(java.nio.file.AccessDeniedException
),我不知道背后的原因。
如果play.http.secret.key
中的prod.conf
不正确,或者这是其他某些凭据不正确的症状,是否会发生这种情况?
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
答案 0 :(得分:0)
看起来您的应用程序无法对系统进行文件操作,因此:
文件名/路径:仔细检查文件名和应用程序中使用的路径。
prod.conf :我不知道你的prod.conf
中有什么,但主要是我用它作为其他api的env变量,比如AWS;或db凭据。所以我不认为prod.conf
创造了你的问题;除非你添加了你的生产超级用户信誉;这让我想到了最后一点。
您的应用程序不应该是超级用户:请注意,您不应该让您的应用程序执行&#34; sudo / superuser&#34;东西(例如,更新底层OS)。所以,如果你这样做,请避免它。如果创建了混乱,那么最终可能会被锁定在生产环境之外。当然,例外情况是,如果您的Web应用程序是集群管理系统;例如,显然它可能需要执行超级用户操作。