java.util.PropertyPermission user.home read(Access Denied)

时间:2011-11-15 13:52:45

标签: java io applet signed-applet

我有一个已签名的小程序,其中我使用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文件选择器对话框中看不到主文件和文件。

1 个答案:

答案 0 :(得分:-1)

问题似乎可能更深......

您是否检查过user.home而不是applet而是本地util?它是“?”还是不像绝对路径的东西?

我建议您使用System.getProperty(“user.home”)进行检查,但需要使用桌面工具;

另外,客户端计算机问题可能是32位JDK。这是一个众所周知的bug所以也许这就是问题所在。

请报告帮助