XMind 8 внезапно перестал работать на Ubuntu 18.04 LTS после исправления .ini

После того, как я обновил Ubuntu до 18.04 с 16.04, XMind 8 (update8-linux) перестал работать, поэтому я наткнулся на исправление, состоящее в добавлении нескольких строк в файл .ini. Все работало отлично в течение нескольких месяцев (даже я создал запись .desktop, чтобы я мог запустить приложение из дока). До прошлой недели я не мог больше открывать XMind. В сообщении об ошибке говорится, что нужно посмотреть файл .log, и это вывод:

!SESSION 2019-04-25 22:01:01.176 -----------------------------------------------
eclipse.buildId=R3.7.8.201807240049
java.version=11.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -eclipse.keyring @user.home/.xmind/secure_storage_linux
Command-line arguments:  -os linux -ws gtk -arch x86_64 -data ../workspace -eclipse.keyring @user.home/.xmind/secure_storage_linux

!ENTRY org.xmind.cathy 1 0 2019-04-25 22:01:03.880
!MESSAGE Skip unrecognized command line argument: '-eclipse.keyring'

!ENTRY org.xmind.cathy 1 0 2019-04-25 22:01:03.881
!MESSAGE Skip unrecognized command line argument: '@user.home/.xmind/secure_storage_linux'

!ENTRY org.eclipse.osgi.compatibility.state.nl_ko 2 0 2019-04-25 22:01:04.019
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_ko [846]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_zh_TW 2 0 2019-04-25 22:01:04.019
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_zh_TW [851]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_fr 2 0 2019-04-25 22:01:04.019
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_fr [843]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_pt_BR 2 0 2019-04-25 22:01:04.019
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_pt_BR [847]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_it 2 0 2019-04-25 22:01:04.019
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_it [844]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_da 2 0 2019-04-25 22:01:04.020
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_da [840]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_ar 2 0 2019-04-25 22:01:04.020
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_ar [839]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_ja 2 0 2019-04-25 22:01:04.020
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_ja [845]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_es 2 0 2019-04-25 22:01:04.020
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_es [842]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_zh 2 0 2019-04-25 22:01:04.020
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_zh [850]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_ru 2 0 2019-04-25 22:01:04.020
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_ru [848]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_de 2 0 2019-04-25 22:01:04.020
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_de [841]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi.compatibility.state.nl_sl 2 0 2019-04-25 22:01:04.021
!MESSAGE Could not resolve module: org.eclipse.osgi.compatibility.state.nl_sl [849]
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state
  Unresolved requirement: Fragment-Host: org.eclipse.osgi.compatibility.state


!ENTRY org.eclipse.osgi 4 0 2019-04-25 22:01:04.022
!MESSAGE Application error
!STACK 1
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:294)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:490)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:504)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:203)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:626)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:604)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at org.xmind.cathy.internal.CathyApplication.start(CathyApplication.java:137)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1492)
Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
    at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:151)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:375)
    ... 23 more
Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.0.v20160319-0612
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:398)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:361)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:353)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 25 more

!ENTRY org.eclipse.e4.ui.workbench 4 0 2019-04-25 22:01:04.033
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
    at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:426)
    at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:154)
    at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:78)
    at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:111)
    at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:74)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:176)
    at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:106)
    at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:139)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)
    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156)
    at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
    at org.eclipse.osgi.container.Module.doStop(Module.java:634)
    at org.eclipse.osgi.container.Module.stop(Module.java:498)
    at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:191)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.0.v20160319-0612
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:398)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:361)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:353)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 21 more

Я пытался переключаться между версиями JDK и дистрибутивами (oracle и openjdk), но ничего не получалось. Я попытался изменить файл .ini снова, и он все еще не работал. Есть ли исправление этой ошибки? Спасибо за ваше время.

0
задан 26 April 2019 в 06:14

3 ответа

Вам потребуется установленный java-8-openjdk.

Шаг 1: apt install openjdk-8-jre Шаг 2: установить jre по умолчанию

> sudo update-alternatives --config java
> There are 2 choices for the alternative java (providing
> /usr/bin/java).
> 
>   Selection    Path                                           
> Priority   Status
> ------------------------------------------------------------
> * 0            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      auto mode   1           
> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
> 2            /usr/lib/jvm/jdk-12.0.1/bin/java                 2       
> manual mode

Шаг 3: скопировать местоположение jre 8 Шаг 4: Обновить файл Xmind.ini с помощью следующей опции -vm / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin

0
ответ дан 26 April 2019 в 06:14

Вот как мне удалось запустить его снова:

  • Шаг 1: Выберите опцию java-8-openjdk с помощью команды sudo update-alternatives --config java
  • Шаг 2: более раннее исправление файла .ini заключалось в добавлении этой строки в конец файла --add-modules=ALL-SYSTEM. Удалить эту строку.
  • Шаг 3. Перезапустите программу XMind, и она должна работать.

Кажется, что XMind не работает с более поздними версиями JVM, ему нужна Java 8, но он не может работать с опцией --add-modules, так как он был представлен в более поздних версиях.

0
ответ дан 26 April 2019 в 06:14

Мне сработал подход эбенаша. После этого мой файл XMind.ini выглядел так:

$ cat XMind_amd64/XMind.ini 
-vm 
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin
-configuration
./configuration
-data
../workspace

(подробнее ниже...). Обратите внимание, что мне пришлось поставить разрыв строки между -vm и фактическим значением /usr/lib/jvm...

1
ответ дан 6 June 2020 в 16:52

Другие вопросы по тегам:

Похожие вопросы: