AccessControlException с методом getClassLoader - PullRequest
0 голосов
/ 11 марта 2020

У меня проблема с разрешениями при использовании Java Web Start.

Я получаю следующее исключение из-за Apache commons-logging (версия 1.1.1):

Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getClassLoader")
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at com.sun.javaws.security.JavaWebStartSecurity.checkPermission(Unknown Source)
    at java.lang.ClassLoader.checkClassLoaderPermission(Unknown Source)
    at java.lang.ClassLoader.getParent(Unknown Source)
    at org.apache.commons.logging.impl.LogFactoryImpl.getLowestClassLoader(LogFactoryImpl.java:1327)
    at org.apache.commons.logging.impl.LogFactoryImpl.getBaseClassLoader(LogFactoryImpl.java:1247)
    at org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1048)
    at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914)
    at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)

В файле JNLP указано следующее:

<security>
    <all-permissions/>
</security>

Я добавил это в файл jav aws .policy из JRE (Oracle 1.8.0_162), который я использую для запуска JWS:

grant {
    permission java.security.AllPermission;
};

Я также добавил следующее к файлу MANIFEST.MF в JAR-клиенте, который вызывает ошибку:

Permissions: all-permissions

Я видел, что эта проблема в общем журнале была решена позже версии, но я не могу легко обновить общинную регистрацию, поскольку это косвенная зависимость, используемая другими библиотеками. Я бы предпочел сохранить их в их текущих версиях, чтобы избежать риска регрессии в максимально возможной степени.

Сам код, по-видимому, не проблематичен c, так как клиент работает так, как задумано в IDE , Эта ошибка появляется только при запуске соответствующего JAR-файла из файла JNLP с Java Web Start.

Что можно сделать, чтобы решить эту проблему с разрешениями?

Спасибо.

...