как дать грант файлу jar для выполнения другого файла jar - PullRequest
4 голосов
/ 02 февраля 2012

Я хочу выполнить файл JAR с использованием файла политики из моего проекта.мой файл политики:

*grant codeBase "file:///D:/xx/yy/zz/-"{
  permission java.io.FilePermission 
    "D:/aa/bb/test.jar", "read, write, delete, execute";
};*

мой проект находится в папке D: / xx / yy / zz /, и я хочу выполнить test.jar в этом проекте, но у меня была ошибка:

доступ запрещен (java.io.FilePermission <> execute)

если я изменю файл политики следующим образом, это нормально:

*grant codeBase "file:///D:/xx/yy/zz/-"{
  permission java.io.FilePermission 
    "<<ALL FILES>>", "read, write, delete, execute";
};*

Но я не хочу давать все разрешениямой проект.

А также в проекте я установил файл политики следующим образом:

String path = "D: \ aa \ bb \ test.jar";

     System.setProperty("java.security.policy","C:\\policy\\"+"test.policy");

     System.setSecurityManager(new SecurityManager());  

Есть ли кто-нибудь, чтобы сказать что-то об этой ситуации?Спасибо ...

Ответы [ 2 ]

1 голос
/ 24 мая 2013

Я думаю, это "D:/aa/bb/test.jar" должно быть "D:\\aa\\bb\\test.jar"

Проверьте здесь для получения дополнительной информации http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html

0 голосов
/ 12 февраля 2012

Это больше похоже на проблему безопасности файловой системы, чем на исключение безопасности Java, вы используете Windows или Linux?
Какую файловую систему вы используете? ext2 / 3/4 или NFTS или fat32?
И самое главное, запускаете ли вы свою программу с правами администратора, что может потребоваться для предоставления разрешения на выполнение некоторых файлов.

...