2

オフ/オーバーライドすることは可能java.lang.SecurityException: Prohibited package nameですか?

AffineTransform機能が不足している実装されたクラスを拡張する必要がありm00, m01, ...、パッケージ保護として定義されているメンバーにアクセスする必要があります。

4

3 に答える 3

5

いいえ、できません。java.lang.ClassLoader にハードコーディングされています。

    if ((name != null) && name.startsWith("java.")) {
        throw new SecurityException
            ("Prohibited package name: " +
             name.substring(0, name.lastIndexOf('.')));

...

ご覧のとおり、オプションはありません

于 2013-11-13T15:17:46.213 に答える
0

Evgeniyが指摘したように、チェックは ClassLoader にハードコーディングされているため、これを回避するのは簡単なことではありません。しかし、常にオプションがあります:-)

起動時にJavaの bootclasspathオプションを使用するか、 javaagentを実装して独自の改善を組み込むことができます。問題は、それが実行可能かどうかではなく、これが労力と全体的なメンテナンスの観点から最も賢明な解決策であるかどうかです。

ただし、これによりセキュリティ リークが発生する可能性があるため、アプレットなどでは両方を実行できないことに注意してください。

于 2015-10-20T15:12:38.093 に答える