繁体   English   中英

java.security.AccessControlException:GAE上的访问被拒绝(“ java.io.FilePermission”“ C:\\ tempFolder”“ read”)

[英]java.security.AccessControlException: access denied (“java.io.FilePermission” “C:\tempFolder” “read”) on GAE

我正在将应用程序从tomcat迁移到Google App Engine(1.9.1),正在Servlet 2.5上运行jsf 2.2,并且从文件系统读取文件时遇到了问题,我具有在文件系统上创建文件的代码,如下所示:

File file = new File("C:\\tempFolder");
if(file.isDirectory()){
  // do writing stuff here
}

在tomcat上,我没有在上述代码上获得任何异常,但是在google app引擎上,我得到了以下异常:

Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\tempFolder" "read")
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)
    at java.security.AccessController.checkPermission(AccessController.java:559)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
    at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:429)

请告知为什么我遇到此异常以及如何解决它。

为什么我得到这个例外

GAE环境被沙箱化有多种原因。 这意味着您无法执行通常可以在本地计算机上执行的许多操作。

这也包括对文件系统的写访问。

如何解决

寻找另一种持久化数据的方法(例如,数据库)。

您可以在此处阅读有关沙箱限制的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM