Я пытаюсь запретить вызов System.exit (int);
в некоторых банках.
Эти jar-файлы будут разработаны внешними командами и загружены нашим «контейнерным» приложением.
Мой первый рефлекс - использовать диспетчер безопасности Java:
-Djava.security.manager-Djava.security.debug=all
с простейшим $ {user.home} /.java.policy
файл:
grant {};
Хотя я больше не могу вызывать такие как System.getProperties () (поскольку у меня нет java.util.PropertyPermission), я могу выполнить System.exit (0) !!
Параметр java.security.debug = all
дает следующую консоль:
scl: getPerms ProtectionDomain (file: my-bin-path <no sign certificates>)
sun.misc.Launcher $ AppClassLoader @ 10385c1
<no principals>
java.security.Permissions @ 15b7986 (
(java.lang.RuntimePermission exitVM)
(java.io.FilePermission \my-bin-path\- read)
)
Почему всем классам в my-bin-path предоставлено java.lang.RuntimePermission exitVM
?????
спасибо