Summary: | batik: rasterizer -scriptSecurityOff or java.security.AccessControlException | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Vitaly Lipatov <lav> |
Component: | batik-rasterizer | Assignee: | viy <viy> |
Status: | NEW --- | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | viy |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Vitaly Lipatov
2016-04-05 11:33:41 MSK
java 8 надо установить. Поставил 1.8: $ java -version openjdk version "1.8.0_71" OpenJDK Runtime Environment (build 1.8.0_71-b15) OpenJDK 64-Bit Server VM (build 25.71-b15, mixed mode) $ rasterizer Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/batik/apps/rasterizer/Main : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:634) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) at java.net.URLClassLoader.access$000(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:212) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) Could not find the main class: org.apache.batik.apps.rasterizer.Main. Program will exit. $ epmqp java 1.8 java-1.8.0-openjdk-headless-1.8.0.71-alt3_1.b15jpp8 java-1.8.0-openjdk-1.8.0.71-alt3_1.b15jpp8 гм. а readlink -r /usr/bin/java ? и env|grep JRE env|grep JAVA ? (В ответ на комментарий №4) > гм. а readlink -r /usr/bin/java ? > и env|grep JRE > env|grep JAVA > ? $ readlink -r /usr/bin/java readlink: неверный ключ — «r» По команде «readlink --help» можно получить дополнительную информацию. [lav@builder64 etersoft]$ env | grep JRE [lav@builder64 etersoft]$ env | grep JAVA JAVA_HOME=/usr/lib/jvm/java [lav@builder64 etersoft]$ epmqf /usr/lib/jvm/java $ rpm -qf /usr/lib/jvm/java предупреждение: файл /usr/lib/jvm/java не принадлежит ни одному из пакетов Note: /usr/lib/jvm/java is link to /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64 $ rpm -qf /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64 java-1.6.0-openjdk-1.6.0.0-alt23_65.1.11jpp6 [lav@builder64 etersoft]$ epmqf java Note: java is placed as /usr/bin/java $ rpm -qf /usr/bin/java предупреждение: файл /usr/bin/java не принадлежит ни одному из пакетов Note: /usr/bin/java is link to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.x86_64/jre/bin/java $ rpm -qf /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.x86_64/jre/bin/java java-1.8.0-openjdk-headless-1.8.0.71-alt3_1.b15jpp8 Удалил ещё java-1.6.0-openjdk java-1.6.0-openjdk-devel java-1.6.0-sun java-1.6.0-sun-devel java-1.6.0-sun-headless java-1.6.0-sun-jdbc pike7.6-java Действительно, через JAVA_HOME, который выставлялся в java-1.6.0, что-то находило левое. Теперь вот так: $ rasterizer --help Exception in thread "main" java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.security.policy" "write") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) at java.security.AccessController.checkPermission(AccessController.java:884) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at java.lang.System.setProperty(System.java:792) at org.apache.batik.util.ApplicationSecurityEnforcer.installSecurityManager(ApplicationSecurityEnforcer.java:257) at org.apache.batik.util.ApplicationSecurityEnforcer.enforceSecurity(ApplicationSecurityEnforcer.java:173) at org.apache.batik.apps.rasterizer.Main.execute(Main.java:922 readlink -f /usr/lib/jvm/java/jre/lib/security/* ? (В ответ на комментарий №6) > readlink -f /usr/lib/jvm/java/jre/lib/security/* > ? [lav@builder64 ]$ readlink -f /usr/lib/jvm/java/jre/lib/security/* [lav@builder64 ]$ ls /usr/lib/jvm/java/jre/lib/security/* ls: невозможно получить доступ к /usr/lib/jvm/java/jre/lib/security/*: Нет такого файла или каталога Есть похожий каталог только в java-1.8.0-openjdk-headless: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.x86_64/jre/lib/security И так: [lav@builder64 security]$ readlink -f /usr/lib/jvm/jre/lib/security /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.x86_64/jre/lib/security а какое содержимое этих каталогов? там внутри должны быть симлинки- интересно, куда они указывают. (В ответ на комментарий №8) > а какое содержимое этих каталогов? > там внутри должны быть симлинки- интересно, куда они указывают. $ readlink -f /usr/lib/jvm/jre/lib/security/* /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.x86_64/jre/lib/security/blacklisted.certs /etc/pki/java/cacerts /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.x86_64/jre/lib/security/java.policy /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.x86_64/jre/lib/security/java.security /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.x86_64/jre/lib/security/local_policy.jar /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.x86_64/jre/lib/security/nss.cfg /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.x86_64/jre/lib/security/US_export_policy.jar В strace видно, что обращается к /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.x86_64/jre/lib/security/java.policy вот так должно запуститься rasterizer -scriptSecurityOff (В ответ на комментарий №11) > вот так должно запуститься > rasterizer -scriptSecurityOff Да, так запускается, спасибо. Но на Fedora запускается сразу без вопросов. Это какой-то баг установки jvm, но еще не пойму, какой :( спасибо за report. он воспроизводится в hasher, так что буду разбираться когда новую сборку буду готовть. |