Программное обеспечение сообщает об отсутствии ошибки AWT при запуске JProfiler - PullRequest
1 голос
/ 12 февраля 2020

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

    java.lang.ExceptionInInitializerError
    at java.awt.Component.<clinit>(Component.java:593)
    at javax.swing.ImageIcon$2.run(ImageIcon.java:130)
    at javax.swing.ImageIcon.<clinit>(ImageIcon.java:100)
    at com.jprofiler.frontend.ab.a(ejt:315)
    at com.jprofiler.frontend.ab.<clinit>(ejt:47)
    at com.jprofiler.frontend.FrontendApplication.E(ejt:1038)
    at com.jprofiler.frontend.IntegrationApplication.main(ejt:8)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85)
    at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:62)
    Caused by: java.lang.NullPointerException
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1847)
    at java.awt.Toolkit.loadLibraries(Toolkit.java:1633)
    at java.awt.Toolkit.<clinit>(Toolkit.java:1670)
    ... 20 more
    java.lang.NoClassDefFoundError: Could not initialize class java.awt.Toolkit
    at javax.swing.ImageIcon.<init>(ImageIcon.java:198)
    at javax.swing.ImageIcon.<init>(ImageIcon.java:217)
    at com.ejt.framework.gui.eo.<init>(ejt:37)
    at com.ejt.framework.gui.eo.a(ejt:17)
    at com.jprofiler.frontend.ab.a(ejt:315)
    at com.jprofiler.frontend.ab.<clinit>(ejt:47)
    at com.jprofiler.frontend.FrontendApplication.E(ejt:1038)
    at com.jprofiler.frontend.IntegrationApplication.main(ejt:8)

    at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:62)

1 Ответ

1 голос
/ 13 февраля 2020

Это новая проблема с Java 8u242. Это будет исправлено в ближайшее время в JProfiler 11.1.1. Временный обходной путь - запустить JProfiler с другим JRE.


Поскольку существует некоторый интерес, я объясню, в чем заключалась ошибка:

Причина этой ошибки в том, что JProfiler установлен закрытое поле ClassLoader.sys_paths в ноль для принудительной переоценки системного свойства java.library.path. Это был обычный способ добавления каталогов в библиотечный пакет, чтобы можно было загружать зависимые собственные библиотеки. Поскольку коммит , выпущенный как часть 8u242, новый частный метод ClassLoader.initLibraryPaths() должен вызываться после установки в этом поле значения null, в противном случае собственные библиотеки не могут быть загружены.

...