Una de las opciones del intérprete es la opción -cp (class path), con la que se especifica un path de búsqueda para las clases de la aplicación y los recursos. Así, por ejemplo, para ejecutar la aplicación Count dentro del fichero JAR sCount.jar, especificando el fichero C:\TestData\data como su argumento, podríamos teclear lo siguiente desde el directorio que contiene sCount.jar:
java -cp sCount.jar Count C:\TestData\data
Para ejecutar la aplicación con un controlador de seguridad, simplemente añadimos -Djava.security.manager, como en
java -Djava.security.manager -cp sCount.jar Count C:\TestData\data
Cuando ejecutemos este comando, deberíamos obtener una excepción:
Exception in thread "main" java.security.AccessControlException:
access denied (java.io.FilePermission C:\TestData\data read)
at java.security.AccessControlContext.checkPermission(Compiled Code)
at java.security.AccessController.checkPermission(Compiled Code)
at java.lang.SecurityManager.checkPermission(Compiled Code)
at java.lang.SecurityManager.checkRead(Compiled Code)
at java.io.FileInputStream.
Esta AccessControlException esta informando de que la aplicación no tiene permiso para leer el fichero C:\TestData\data. Esta excepción se lanza porque una aplicación que se está ejecutando bajo un controlador de seguridad no puede leer o fichros o acceder a otros recursos a menos que tenga permiso explícito para hacerlo.