System.exit(0); or
System.exit(2);
является posiible выполнить без ошибок, бега сSystem.exit (0) без гранта возможен в соответствии с менеджером безопасности
java -Djava.security.manager -Djava.security.policy==app.policy -cp bin pl.com.App
app.policy:
grant {
permission java.io.FilePermission "./*", "read,write";
permission java.net.SocketPermission "localhost:18080", "accept, connect, listen";
//permission java.util.PropertyPermission "java.home", "read";
};
менеджером безопасности для записи файл работает правильно, когда я удаляю грант из app.policy, я правильно получаю Exception при выполнении нового FileWriter («out.txt»);
C: \ workspace_tomcat \ secureWeb> Java -версия
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)
когда я бегу System.exit (0); в webapp под Tomcat с менеджером безопасности, я правильно получаю исключение.
Не могли бы вы изложить свой вопрос? –
Почему можно выполнить без исключения System.exit (0) при запуске под управлением безопасности без соответствующего разрешения (разрешение java.lang.RuntimePermission «exitVM.0»)? – bastiat