cómo otorgar una concesión a un archivo jar para ejecutar otro archivo jar

Quiero ejecutar un archivo jar usando el archivo de política de mi proyecto. mi archivo de política es:

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

mi proyecto está en la carpeta D: / xx / yy / zz / y quiero ejecutar test.jar en este proyecto pero tuve un error:

acceso denegado (java.io.FilePermission <> ejecutar)

si cambio el archivo de política como este, está bien:

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

Pero no quiero dar todos los permisos a mi proyecto.

Y también en el proyecto configuré un archivo de política como este:

Ruta de cadena = "D: \ aa \ bb \ test.jar";

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

     System.setSecurityManager(new SecurityManager());  

¿Hay alguien que pueda decir algo sobre esta situación? Gracias...

preguntado el 02 de febrero de 12 a las 11:02

¿Está utilizando un sistema de archivos de Windows? -

2 Respuestas

Creo que este "D:/aa/bb/test.jar" debiera ser "D:\\aa\\bb\\test.jar"

Revisa aquí para mas información http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html

contestado el 24 de mayo de 13 a las 22:05

Se parece más a un problema de seguridad del sistema de archivos que a una excepción de seguridad de Java, ¿está usando Windows o Linux?
¿Qué tipo de sistema de archivos estás usando? ext2 / 3/4 o NFTS o fat32?
Y lo más importante, ¿está ejecutando su programa con derechos de administrador, lo que podría ser necesario para otorgar permiso de ejecución en algunos archivos?

Respondido 12 Feb 12, 13:02

mis preguntas cambiaron un poco: me doy cuenta de que se trata de un comando java. mi código es: ProcessBuilder pb = new ProcessBuilder (cmdList); proceso = pb.start (); cmdList es como "java", "-jar", ruta En la función de inicio, hay un control de administrador de seguridad con checkexec (). La excepción se lanza desde allí. - MST

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.