CLass [A としましょう] を含む TrirdParty API があります。次のような奇妙な静的ブロックがあります。
class A
{
static
{
try
{
System.loadLibrary("libraryName");
}
catch(UnsatisfiedLinkError ue)
{
System.exit(0);
}
}
//other stuff
}
System.exit()
オーバーライドされたへの呼び出しを防止したいSecurityManager
。SecurityManager
ただし、このブロックが実行される直前をオーバーライドし、その直後にstatic
元のセキュリティ マネージャーを復元したいと考えています。
を置き換える/上書きする/復元する方法を知っていますSecurityManager
。
static
私の問題は、ブロックがいつ呼び出されるか[基本的にクラスがロードされるとき]をどのように決定するSecurityManager
かSystem.exit()
ですSecurityManager
.
静的ブロックが実行されている間のみ、セキュリティ マネージャをオーバーライドすることが重要であることに注意してください。
編集:
ライセンス上の理由から、ソースを変更することはできません。