Я работаю над страницей HTML, которая использует Javascript для взаимодействия с апплетом Java.HTML-страница, файлы javascript и файл .jar для апплета будут развернуты локально в папке в файловой системе пользователя.
(В данном случае это не отдельное приложение Java; по разным причинам яне буду здесь объяснять).
Апплет должен делать локальный файл ввода / вывода.Поэтому я пытаюсь настроить параметры в файле .java.policy пользователя, чтобы разрешить это.
Я обнаружил, что единственная, которая работает, - это следующая настройка:
grant
{
permission java.io.FilePermission "<<ALL FILES>>", "read";
permission java.io.FilePermission "<<ALL FILES>>", "write";
};
Это не идеально, так как он предоставляет всем апплетам разрешения на чтение и запись всех файлов.Естественно, я бы предпочел выделить для конкретной базы кода.Однако я не смог найти синтаксис «grant codeBase», который работает.
Я пытался:
grant codeBase "file:/C:/Files/FileIOApplet/-" {
permission java.io.FilePermission "<<ALL FILES>>", "read";
permission java.io.FilePermission "<<ALL FILES>>", "write";
};
grant codeBase "file:///-" {
permission java.io.FilePermission "<<ALL FILES>>", "read";
permission java.io.FilePermission "<<ALL FILES>>", "write";
};
grant codeBase "file:${user.home}/-"
{
permission java.io.FilePermission "<<ALL FILES>>", "read";
permission java.io.FilePermission "<<ALL FILES>>", "write";
};
Это выполняется с использованием этой конфигурации:
- Firefox3.6.10
- Java 1.6 обновление 25
- Windows 7 64 бит
Где я ошибаюсь при настройке этого файла .java.policy?
Я довольно придирчив к миру Java, особенно работаю с апплетами - так что ваши знания приветствуются!