以下を使用して、OpenJDK 10JREをPureOSシステムにインストールしました。
$ Sudo apt install default-jre
$ Java --version
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Debian-1)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Debian-1, mixed mode)
私は今しようとしています インストールドキュメントに従ってApache Directory Studioをダウンロードして実行します :
Apache Directory Studioには、少なくとも次のものが必要です。
- 最近のLinuxディストリビューション。 UbuntuとArchLinuxで正常にテストされています。
- Javaランタイム環境7以降。
[「ApacheDirectoryStudio」ファイルをクリック]
しかし、~/.ApacheDirectoryStudio/.metadata/.log
(下記)でエラーが発生します。予備検索では、この種のエラーが私のJREとの互換性の問題を示している可能性があることが示唆されています。 JREでADSを実行するにはどうすればよいですか?
!SESSION 2018-08-09 15:24:18.612 -----------------------------------------------
Eclipse.buildId=unknown
Java.version=10.0.2
Java.vendor=Oracle Corporation
BootLoader constants: OS=linux, Arch=x86_64, WS=gtk, NL=en_US
Framework arguments: /studio-rcp/resources/icons/linux/studio.xpm
Command-line arguments: -os linux -ws gtk -Arch x86_64 /studio-rcp/resources/icons/linux/studio.xpm
!ENTRY org.Eclipse.osgi 4 0 2018-08-09 15:24:19.973
!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:632)
at org.Eclipse.core.databinding.observable.Realm.runWithDefault(Realm.Java:336)
at org.Eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.Java:610)
at org.Eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.Java:148)
at org.Apache.directory.studio.Application.start(Application.Java:51)
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:564)
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.1.v20160712-0927
at org.Eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.Java:410)
at org.Eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.Java:372)
at org.Eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.Java:364)
at org.Eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.Java:161)
at Java.base/Java.lang.ClassLoader.loadClass(ClassLoader.Java:499)
... 25 more
!ENTRY org.Eclipse.e4.ui.workbench 4 0 2018-08-09 15:24:19.988
!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:202)
at org.Eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.Java:165)
at Java.base/Java.lang.Thread.run(Thread.Java:844)
Caused by: Java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.Eclipse.e4.core.di_1.6.1.v20160712-0927
at org.Eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.Java:410)
at org.Eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.Java:372)
at org.Eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.Java:364)
at org.Eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.Java:161)
at Java.base/Java.lang.ClassLoader.loadClass(ClassLoader.Java:499)
... 21 more
Java 10. Apache独自の ApacheディレクトリStudioのFAQ :をサポートしていないようです。
StudioにはJava 7またはJava 8(推奨))が必要です。Java 9はまだサポートされていません。
OpenJDK 8JREをインストールする必要があります。
Sudo apt install openjdk-8-jre
また、OpenJDK 10がすでにインストールされているため、ApacheDirectoryStudio.iniを変更します。
...
-vm
/usr/lib/jvm/Java-8-openjdk-AMD64/bin/Java
-vmargs
-Dosgi.requiredJavaVersion=1.8
これで、ApacheDirectoryStudioファイルをクリックしてアプリケーションを起動できるようになります。