java.security.AccessControlException error when attempting to start Confluence
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
問題
Confluence を実行しようとすると、次のエラーが表示されることがあります。
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java(Compiled Code))
at java.security.AccessController.checkPermission(AccessController.java(Compiled Code))
at java.lang.SecurityManager.checkPermission(SecurityManager.java(Compiled Code))
原因
Confluence は多くの Java ライブラリに依存しています。これらのライブラリの一部は、Java セキュリティポリシーにより制約を受ける場合がある Java 言語のフィーチャーを利用します。
通常、これは問題にはなりません。ほとんどのアプリケーションサーバーの既定のセキュリティ設定で、Confluence は問題なく稼働します。しかし、一部の共有ホスティングまたはエンタープライズ環境では、セキュリティ設定のために Confluence の機能を実行できないような場合があります。
ソリューション
Confluence を実行するために必要な権限は以下のサンプルポリシー ファイルに詳述されています。この情報をシステム管理者に与えて、Confluence アプリケーションと共に権限を配置できるようにする必要がある場合もあります。
grant codeBase "file:${catalina.home}/webapps/confluence/-" {
permission java.security.AllPermission;
};
grant {
permission java.lang.RuntimePermission "accessDeclaredMembers";
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
permission java.lang.RuntimePermission "defineCGLIBClassInJavaPackage";
};