我有一个签名的小程序,我在其中使用 JFilechooser 从本地文件系统浏览文件以进行上传。它在 windows 和 mac 中正常运行。但在 Linux 中,它显示错误Access Denied (java.util.PropertyPermission user.home read)。我在互联网上搜索并找到了一个 solution .照做了,还是没能解决问题。
我在主文件夹中创建了 .java.policy 文件。
grant codeBase "http://bioinfo.utu.fi/applet/*" {
permission java.io.FilePermission "/home/raj/-", "read";
permission java.io.FilePermission "/home/raj/-", "write, delete";
};
当我单击“浏览”按钮时,我无法在 Linux 中获得 JFileChooser 对话,但显示异常:拒绝访问(java.util.PropertyPermission user.home read)。我如何在 Linux 中运行它? 感谢您的帮助。
最近的更新:
我从终端搜索了 java.policy 文件
[raj@localhost Desktop]$ locate java.policy
/home/raj/.java.policy
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/security/java.policy
我在文件/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/security/java.policy 中添加了以下几行
grant{
...
...
permission java.util.PropertyPermission "user.home", "read";
permission java.io.FilePermission "/home/raj", "read";
permission java.io.FilePermission "${user.home}${/}*", "read,write";
}
不,我可以看到 JFileChoose 对话。现在我遇到了另一个问题。我在小程序文件选择器对话框中看不到主目录中的和文件。
最佳答案
这个问题似乎要深得多......
您是否使用本地实用程序而不是小程序检查了 user.home?它是 "?" 还是不像绝对路径的东西?
我确实建议您使用 System.getProperty("user.home") 检查它,但使用桌面实用程序;
也可能存在客户端机器问题,如 32 位 JDK。这是一个众所周知的bug所以也许这就是问题所在。
有帮助请举报
关于java.util.PropertyPermission user.home 读取(拒绝访问),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8137387/