java — NoClassDefFoundError и NullPointerException при открытии проекта с PhpStorm в OS X Sierra

Недавно установленный PhpStorm 2017.2.4 на моем Mac Pro (Sierra 10.12.6), версия Java (9 + 181).

Всякий раз, когда я пытаюсь открыть проект, PhpStorm зависает.
Я посмотрел на файл журнала, расположенный в /Library/Logs/PhpStorm2017.2,
Происходит несколько событий NoClassDefFoundError со срезом NullPointerException.
Вот несколько выдержек:

java.lang.NoClassDefFoundError: com/apple/eawt/AppEvent$AboutEvent
java.lang.NoClassDefFoundError: com/apple/eawt/OpenURIHandler
java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
java.lang.NoClassDefFoundError: Could not initialize class com.intellij.credentialStore.kdbx.KdbxKt
java.lang.NullPointerException at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.b(ToolWindowManagerImpl.java:1800)
java.lang.NullPointerException at com.intellij.codeInsight.daemon.impl.DaemonListeners$MyProfileChangeListener.a(DaemonListeners.java:519)
  • Я пытался изменить целевую версию Java в info.plist файл конфигурации внутри пакета PhpStorm.
  • Я также следовал эти инструкции для того, чтобы иметь возможность запустить приложение.
  • Просто чтобы проверить, я также установил Webstorm, который отлично работал из коробки.

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

PS: я загрузил файл журнала Вот если кто-то хочет пройти через это.

1

Решение

Нашли лучшее решение, вы можете установить PhpStorm с homebrew

homebrew cask install phpstorm

Работал как шарм.

Я оставляю старый ответ, на случай, если кому-то понадобится такая информация.

Оооооо, я получил это работает. Но это было не красиво.

Поэтому по какой-то причине PhpStorm не может использовать свой собственный JDK. Он пытается использовать системный JDK по умолчанию, который для меня является Java 9.

Поэтому я сделал что-то немного экстремальное, я заменил lib папка в системном JDK по символической ссылке, указывающей на JRE lib папка внутри Phpstorm.app пакет

sudo ln -s /Applications/PhpStorm.app/Contents/jdk/Contents/Home/jre/lib /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/lib

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

Спасибо LazyOne, чей комментарий дал мне «ага!» момент.

PS: если кому-то нужна эта информация, я также должен был дать разрешение на выполнение fsnotifier для того, чтобы иметь возможность просматривать файлы в IDE

chmod 744 /Applications/PhpStorm.app/Contents/bin/fsnotifier
0

Другие решения

У меня это было с Intelli-J при обновлении jdk до 11.

Я изменил JDK, он работает обратно до 8, следуя инструкциям здесь:

https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under

Может также понадобиться эта ссылка для расположения файлов конфигурации

https://intellij-support.jetbrains.com/hc/en-us/articles/206544519

0

По вопросам рекламы [email protected]