2017-09-22 8 views
1

私はJavaの開発にEclipse酸素を使いたいです。私はこのIDEを約1年間使っていません。私は本当にそれが好きだと思います。しかし、インストールするのが最も簡単なIDEではないことを覚えています。どんな助けでも大歓迎です。なぜ酸素を一気に放出しないのですか(初めて)?

ここに私がインストールしたJavaがあります。

  • Javaの9のJava
  • SE Development Kitの9

私は何が起こっているか見当がつかない。他のIDEをお勧めします。ここで

ログファイルです:あなたはEclipseのインストールで 'たeclipse.ini' ファイルを変更し、行を追加する必要があるのJava 9でEclipseを実行するには

!SESSION 2017-09-22 11:44:55.501 ----------------------------------------------- 
eclipse.buildId=4.7.0.I20170612-0950 
java.version=9 
java.vendor=Oracle Corporation 
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US 
Framework arguments: -product org.eclipse.epp.package.java.product 
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product 

!ENTRY org.eclipse.osgi 4 0 2017-09-22 11:45:10.776 
!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:410) 
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318) 
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162) 
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:491) 
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:505) 
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204) 
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614) 
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) 
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594) 
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) 
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151) 
    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(Unknown Source) 
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.base/java.lang.reflect.Method.invoke(Unknown Source) 
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653) 
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590) 
    at org.eclipse.equinox.launcher.Main.run(Main.java:1499) 
    at org.eclipse.equinox.launcher.Main.main(Main.java:1472) 
Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct 
    at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124) 
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399) 
    ... 23 more 
Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct 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(Unknown Source) 
    ... 25 more 

!ENTRY org.eclipse.e4.ui.workbench 4 0 2017-09-22 11:45:10.788 
!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(Unknown Source) 
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(Unknown Source) 
    ... 21 more 
!SESSION 2017-09-22 11:47:41.156 ----------------------------------------------- 
eclipse.buildId=4.7.0.I20170612-0950 
java.version=9 
java.vendor=Oracle Corporation 
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US 
Framework arguments: -product org.eclipse.epp.package.java.product 
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product 

!ENTRY org.eclipse.osgi 4 0 2017-09-22 11:47:48.112 
!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:410) 
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318) 
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162) 
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:491) 
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:505) 
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204) 
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614) 
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) 
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594) 
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) 
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151) 
    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(Unknown Source) 
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.base/java.lang.reflect.Method.invoke(Unknown Source) 
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653) 
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590) 
    at org.eclipse.equinox.launcher.Main.run(Main.java:1499) 
    at org.eclipse.equinox.launcher.Main.main(Main.java:1472) 
Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct 
    at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124) 
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399) 
    ... 23 more 
Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct 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(Unknown Source) 
    ... 25 more 

!ENTRY org.eclipse.e4.ui.workbench 4 0 2017-09-22 11:47:48.124 
!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(Unknown Source) 
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(Unknown Source) 
    ... 21 more 

答えて

14

--add-modules=java.se.ee 

ファイル内の-vmargs行に続く行として出力します。これにより、欠落しているクラスを含むJava 9モジュールが追加されます。

また

--add-modules=ALL-SYSTEM 

Eclipse Wiki: Configure Eclipse for Java 9を参照してください使用することができます。

Eclipse Oxygen.1a(4.7.1a)は、10月11日(2017)に完全なJava 9サポートがリリースされる予定です。

+0

'--add-モジュール= ALL-SYSTEMをダウングレードすることによって、より良い経験を持っていること'私にとってはうまくいかないが、' --add-modules = java.se.ee'が動作する –

1

あなたたeclipse.iniのようなものが含まれている必要があります

--launcher.appendVmargs 
-vm 
C:\Program Files\Java\jdk-9\bin\javaw.exe 
-vmargs 
-Dosgi.requiredJavaVersion=1.8 
--add-modules=ALL-SYSTEM 
1

のJava 9は、大規模なプログラムが持つ問題を抱えている傾向にあることが、いくつかの微妙な変化があります。 Eclipseには、Java 9での実行と、WorkspaceでのJava Runtime EnvironmentとしてのJava 9の使用の両方の問題があります。

のJava 9をサポートするEclipseのの公式バージョンは(明らかに10月11日に)出てくるまでは、非パワーユーザーは、Java 8に

関連する問題