java.security.AccessControlException: access denied
来源:互联网 发布:小七网络 编辑:程序博客网 时间:2024/06/10 08:32
今天在写一个解压缩的程序时,设想能够在解压或压缩之前,如果已经存在该文件了,那么就删除,结果真的存在该文件时,抛了异常:
Exception
java.security.AccessControlException: access denied (java.util.PropertyPermission LOG_INI write) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.System.setProperty(Unknown Source) at com.ebs.manage.front.mainGateServlet.init(mainGateServlet.java:50) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Unknown Source) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1133) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:448) at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) at org.apache.catalina.startup.Catalina.start(Catalina.java:552) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
My Code
if (entryFile.exists()) { // 检测文件是否允许删除,如果不允许删除,将会抛出SecurityException SecurityManager securityManager = new SecurityManager(); securityManager.checkDelete(entryFilePath); // 删除已存在的目标文件 entryFile.delete();}
解决办法:
在<%你的目录%>\Java\jre7\lib\security\Java.policy
中加入最后一行语句就解决了:
// Standard extensions get all permissions by defaultgrant codeBase "file:${{java.ext.dirs}}/*" { permission java.security.AllPermission;};// default permissions granted to all domainsgrant { // Allows any thread to stop itself using the java.lang.Thread.stop() // method that takes no argument. // Note that this permission is granted by default only to remain // backwards compatible. // It is strongly recommended that you either remove this permission // from this policy file or further restrict it to code sources // that you specify, because Thread.stop() is potentially unsafe. // See the API specification of java.lang.Thread.stop() for more // information. permission java.lang.RuntimePermission "stopThread"; // allows anyone to listen on dynamic ports permission java.net.SocketPermission "localhost:0", "listen"; // permission for standard RMI registry port permission java.net.SocketPermission "localhost:1099", "listen"; // "standard" properies that can be read by anyone permission java.util.PropertyPermission "java.version", "read"; permission java.util.PropertyPermission "java.vendor", "read"; permission java.util.PropertyPermission "java.vendor.url", "read"; permission java.util.PropertyPermission "java.class.version", "read"; permission java.util.PropertyPermission "os.name", "read"; permission java.util.PropertyPermission "os.version", "read"; permission java.util.PropertyPermission "os.arch", "read"; permission java.util.PropertyPermission "file.separator", "read"; permission java.util.PropertyPermission "path.separator", "read"; permission java.util.PropertyPermission "line.separator", "read"; permission java.util.PropertyPermission "java.specification.version", "read"; permission java.util.PropertyPermission "java.specification.vendor", "read"; permission java.util.PropertyPermission "java.specification.name", "read"; permission java.util.PropertyPermission "java.vm.specification.version", "read"; permission java.util.PropertyPermission "java.vm.specification.vendor", "read"; permission java.util.PropertyPermission "java.vm.specification.name", "read"; permission java.util.PropertyPermission "java.vm.version", "read"; permission java.util.PropertyPermission "java.vm.vendor", "read"; permission java.util.PropertyPermission "java.vm.name", "read"; // Add By Me permission java.security.AllPermission;};
permission java.security.AllPermission;
0 0
- java.security.AccessControlException: access denied
- java.security.AccessControlException: access denied
- java.security.AccessControlException: access denied
- java.security.AccessControlException: access denied 的解决方法
- BAE java.security.AccessControlException: access denied 解决办法
- 解决:java.security.AccessControlException: Access Denied Error
- java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
- java.security.AccessControlException: access denied (java.util.PropertyPermi
- java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPac
- java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembe
- 关于java.security.AccessControlException: access denied 的解决方法
- 异常 java.security.AccessControlException: access denied (javax.management.MBeanTrustPermission regist
- JasperReport打印时报错:java.security.AccessControlException: access denied
- 关于java.security.AccessControlException: access denied 的解决方法
- Tomcat – java.security.AccessControlException: access denied (logging.properties read)
- 关于java.security.AccessControlException: access denied 的解决方法
- Applet虽签名,但是异常:java.security.AccessControlException: access denied
- Tomcat启动时报 java.security.AccessControlException: access denied
- Android EventBus框架的使用(二)
- android studio查看sha1
- 本周小结
- TFS2015解决方案中新建团队项目
- android ANR产生原因和解决办法
- java.security.AccessControlException: access denied
- iOS Storyboard全解析
- Win7机器上安装Ubuntu 14.0.4
- 守护进程
- kurento在ubuntu14.04上安装出现的一些小问题
- TCP
- Core_3_文件读取和随机数引擎
- (13)HTML标签详解之<body>
- php 实现多文件上传程序代码