我有一个已签名的小程序,其中我使用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 Dialogue。现在我遇到了另一个问题。我在applet文件选择器对话框中看不到主文件和文件。
答案 0 :(得分:-1)
问题似乎可能更深......
您是否检查过user.home而不是applet而是本地util?它是“?”还是不像绝对路径的东西?
我建议您使用System.getProperty(“user.home”)进行检查,但需要使用桌面工具;
另外,客户端计算机问题可能是32位JDK。这是一个众所周知的bug所以也许这就是问题所在。
请报告帮助