ダウンロードした Java コードを実行するアプリケーションを作成しています。コードがアクセスできる組み込み Java クラスを正確に指定できるようにしたいと考えています。これには ClassLoader と SecurityManager の使用が含まれると思いますが、Google で見つけたものは役に立ちませんでした。
2979 次
1 に答える
0
あなたの場合、カスタム クラス ローダーを作成するか、指定された URL からクラスをロードするように構成された UrlClassLoader を使用する必要があると思います。ファイル システム内のファイルは URL として解釈される可能性があることに注意してください。心配する必要はありません。
たとえば、foo.jar と bar.jar の 2 つの jar ファイルがあるとします。foo.jar は許可されていますが、bar.jar はアプリケーションの一部に制限されています。クラスローダーのパスに最初のjarのみを追加するだけです。2番目は非表示になります。
禁止されたクラスにアクセスしたときに SecurityException をスローする場合は、独自のクラス ローダーを実装する必要があります。これは、2 つの URL クラス ローダーの複合体である可能性があります。2 番目のクラス ローダーはメソッド loadClass をオーバーライドし、クラスが正常に読み込まれるたびにセキュリティ例外をスローする必要があります。このソリューションの重大な利点はわかりませんが。
于 2011-02-07T21:26:39.427 に答える