Android アプリ内でバンドル ローダーとして Apache Felix を実行しています。そこでは Jaca SecurityManager にアクセスできないため、バンドルが java.io.* などの特定のパッケージにアクセスできないようにするソリューションを探しています。そのようなクラスが要求されたときにnullを返すか例外をスローするカスタムクラスローダーを作成するというアイデアが最善のようですが、Felixが管理するすべてのバンドルに対してグローバルクラスローダーを設定する方法が見つかりません.
質問する
799 次
1 に答える
0
このプロパティを設定してみてください:
org.osgi.framework.system.packages - フレームワーク クラス ローダーからシステム バンドルを介してエクスポートするパッケージのコンマ区切りリストを指定します。フレームワークはこれを妥当なデフォルトに設定します。値が指定されている場合、デフォルト値が置き換えられます。
デフォルトでは、すべての java.* クラスがすべてのバンドルに表示されます。これをオーバーライドすると、その動作を変更できます。含まれていないパッケージ (java.io など) をインポートしようとするバンドルは、インストール中に解決されないため、開始できません。
詳細については、http: //felix.apache.org/site/apache-felix-framework-configuration-properties.htmlを参照してください。
于 2013-03-15T20:45:35.777 に答える