Hello,
Archi is nog starting on Linux Mint (Ubuntu-based distro). This used to work fine for me until recently.
The splash logo is shown, but the loading bar is not, and shortly thereafter I get the message that I should look in .log.
Here is the contents of the log:
Quote!ENTRY org.eclipse.e4.ui.workbench 4 0 2019-05-12 13:14:18.933
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:450)
at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:156)
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:178)
at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:99)
at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:141)
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
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:168)
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:202)
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.100.v20170421-1418
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 21 more
Does anyone here have any pointers for me to look at?
Please make sure that Archi is using Java 8.
That works!
I have no idea why this changed, as I used java 11 for quite some time.
This is how you can switch between java versions on one system:
https://askubuntu.com/questions/740757/switch-between-multiple-java-versions
But, as Java 8 is no longer publicaly available for download, can you keep it as a requirement for Archi?
We do make it clear that Java 8 is required on the download page. Having said that, I will release a maintenance release very soon that bundles OpenJDK 8 with the Linux 64-bit version so that this will not be an issue. In order to support Java 11 and later we need to use a later version of Eclipse, and there are some issues around that regarding installing plug-ins.
Yes, I know version 8 was required, but as I had no problems on Linux for the longest of times, it never dawned on me that apparantly Java 11 was recently set as the defult Java version on my system. The error log does not mention the java version generating the error, afaik.
Thanks for making sure that version 8 is included, this will help future installations on new machines that do not have 8 installed anymore.