java.util.PropertyPermission user.home 读取(拒绝访问)

标签 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 对话。现在我遇到了另一个问题。我在小程序文件选择器对话框中看不到主目录中的和文件。

最佳答案

这个问题似乎要深得多......

您是否使用本地实用程序而不是小程序检查了 user.home?它是 "?" 还是不像绝对路径的东西?

我确实建议您使用 System.getProperty("user.home") 检查它,但使用桌面实用程序;

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

有帮助请举报

关于java.util.PropertyPermission user.home 读取(拒绝访问),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8137387/

相关文章:

java - Mac OS X 中的 Applet 生命周期

音频播放器程序的 JAVA 时间线

java - String[] 或 ArrayList 更适合作为 HashMap 中的 Key?

java - for 循环中的循环困惑,初始值为零及其条件

C++ 迭代,文件 i/o

java - 如何在 Bonita BPM 表单中显示小程序?

java - 是否可以在 Windows 上监听 "ipconfig"变化?

具有 rewind()/reset() 功能的 java 文件输入

c - ssscanf 意外行为

file - java ftp 小程序