2

我有一个签名的小程序,我在其中使用 JFilechooser 从本地文件系统浏览文件以进行上传。它可以在 windows 和 mac 中正常运行。但是在 linux 中它显示错误Access Denied (java.util.PropertyPermission user.home read)。我在互联网上搜索并找到了一种解决方案。我做了相应的,但无法解决问题。

我在我的主文件夹中创建了文件 .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 对话,但显示 Exception: Access Denied (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 对话。现在我遇到了另一个问题。在小程序文件选择器对话框中,我看不到主目录中的文件。

4

1 回答 1

-1

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

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

我建议您使用 System.getProperty("user.home") 但使用桌面工具进行检查;

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

请报告有帮助

于 2011-11-17T20:29:50.503 回答