Jdk9で遊び始めたばかりで、最初の段階で止まってしまいました。
この時点で、デフォルトのJava(8u60))でjre/jdk(Eclipse.iniのvm引数付き/ out)を使用してEclipseを実行し、Java 9のサポート。
次のステップとして、Java 9:Eclipse.iniにvm-argを追加しました。Eclipseは長いエラーログで終了します(iniとログの両方を以下に示します) )。
問題はどこにありますか?
私のini:
-startup
plugins/org.Eclipse.equinox.launcher_1.3.200.v20151021-1308.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_1.1.300.v20151013-1129
-product
org.Eclipse.epp.package.Java.product
--launcher.defaultAction
openFile
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
d:\Java\jdk\190_ea\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
エラーログの先頭(> 900k)
!SESSION 2016-01-22 14:31:55.974 -----------------------------------------------
Eclipse.buildId=4.6.0.I20151209-2300
Java.version=9-ea
Java.vendor=Oracle Corporation
BootLoader constants: OS=win32, Arch=x86, WS=win32, NL=de_DE
Framework arguments: -product org.Eclipse.epp.package.Java.product
Command-line arguments: -os win32 -ws win32 -Arch x86 -product org.Eclipse.epp.package.Java.product
!ENTRY org.Eclipse.equinox.common 4 0 2016-01-22 14:31:57.113
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.Eclipse.equinox.common [143]
Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"
at org.Eclipse.osgi.container.Module.start(Module.Java:429)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.Java:1582)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.Java:1562)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.Java:1533)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.Java:1476)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.Java:1)
at org.Eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.Java:230)
at org.Eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.Java:340)
!ENTRY org.Eclipse.ant.core 4 0 2016-01-22 14:31:57.175
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.Eclipse.ant.core [61]
Unresolved requirement: Require-Bundle: org.Eclipse.core.variables; bundle-version="[3.1.0,4.0.0)"
-> Bundle-SymbolicName: org.Eclipse.core.variables; bundle-version="3.2.800.v20130819-1716"; singleton:="true"
org.Eclipse.core.variables [88]
Unresolved requirement: Require-Bundle: org.Eclipse.core.runtime; bundle-version="[3.3.0,4.0.0)"
-> Bundle-SymbolicName: org.Eclipse.core.runtime; bundle-version="3.12.0.v20151104-0048"; singleton:="true"
org.Eclipse.core.runtime [87]
Unresolved requirement: Require-Bundle: org.Eclipse.equinox.common; bundle-version="[3.8.0,4.0.0)"; visibility:="reexport"
-> Bundle-SymbolicName: org.Eclipse.equinox.common; bundle-version="3.8.0.v20151023-1114"; singleton:="true"
org.Eclipse.equinox.common [143]
Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"
at org.Eclipse.osgi.container.Module.start(Module.Java:429)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.Java:1582)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.Java:1561)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.Java:1533)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.Java:1476)
at org.Eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.Java:1)
at org.Eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.Java:230)
at org.Eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.Java:340)
更新
まだ最新のネオン(M6)と9-ea-113には運がありませんが、ログに記録されたエラーは変わりましたが、
!SESSION 2016-04-28 16:27:53.344 -----------------------------------------------
Eclipse.buildId=4.6.0.I20160317-0200
Java.version=9-ea
Java.vendor=Oracle Corporation
BootLoader constants: OS=win32, Arch=x86, WS=win32, NL=de_DE
Framework arguments: -product org.Eclipse.epp.package.Java.product
Command-line arguments: -os win32 -ws win32 -Arch x86 -product org.Eclipse.epp.package.Java.product
!ENTRY org.Eclipse.osgi 4 0 2016-04-28 16:28:10.145
!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:627)
at org.Eclipse.core.databinding.observable.Realm.runWithDefault(Realm.Java:336)
at org.Eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.Java:605)
at org.Eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.Java:148)
at org.Eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.Java:138)
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 Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.lang.reflect.Method.invoke(Method.Java:520)
at org.Eclipse.equinox.launcher.Main.invokeFramework(Main.Java:670)
at org.Eclipse.equinox.launcher.Main.basicRun(Main.Java:609)
at org.Eclipse.equinox.launcher.Main.run(Main.Java:1516)
at org.Eclipse.equinox.launcher.Main.main(Main.Java:1489)
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
バグレポート の1つに似ています。 M7では修正済みとしてマークされています。
Java(TM)SEランタイム環境(ビルド9-ea + 158)およびEclipseバージョン:Neon.2リリース(4.6.2)-ビルドID:20161208-0600を実行しています
何らかの理由で-Djdk.launcher.addmods=
および-addmods
値を使用Java.se.ee
またはJava.annotations.common
動作しませんでした。
以下は私のために働いた解決策です:
--add-modules=Java.se.ee
Java 11で同じEclipseクラッシュの問題に直面している人は誰でも、上記の解決策のどれもうまくいかないようです。
エラーは次のとおりです。
org.Eclipse.e4.core.di.InjectionException: Java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
ここで述べたように https://bugs.Eclipse.org/bugs/show_bug.cgi?id=53339 、この問題はEclipse Photon 4.8で修正されています。
上記の回避策があります https://bugs.Eclipse.org/bugs/show_bug.cgi?id=533390#c22 。ただし、これは単なる短期的な回避策であるため、Eclipseを4.8に更新することをお勧めします
ステップ:
。
org.osgi.framework.system.packages = \
javax.accessibility,\
javax.activation,\
javax.activity,\
javax.crypto,\
javax.crypto.interfaces,\
javax.crypto.spec,\
javax.imageio,\
javax.imageio.event,\
javax.imageio.metadata,\
javax.imageio.plugins.bmp,\
javax.imageio.plugins.jpeg,\
javax.imageio.spi,\
javax.imageio.stream,\
javax.jws,\
javax.jws.soap,\
javax.lang.model,\
javax.lang.model.element,\
javax.lang.model.type,\
javax.lang.model.util,\
javax.management,\
javax.management.loading,\
javax.management.modelmbean,\
javax.management.monitor,\
javax.management.openmbean,\
javax.management.relation,\
javax.management.remote,\
javax.management.remote.rmi,\
javax.management.timer,\
javax.naming,\
javax.naming.directory,\
javax.naming.event,\
javax.naming.ldap,\
javax.naming.spi,\
javax.net,\
javax.net.ssl,\
javax.print,\
javax.print.attribute,\
javax.print.attribute.standard,\
javax.print.event,\
javax.rmi,\
javax.rmi.CORBA,\
javax.rmi.ssl,\
javax.script,\
javax.security.auth,\
javax.security.auth.callback,\
javax.security.auth.kerberos,\
javax.security.auth.login,\
javax.security.auth.spi,\
javax.security.auth.x500,\
javax.security.cert,\
javax.security.sasl,\
javax.sound.midi,\
javax.sound.midi.spi,\
javax.sound.sampled,\
javax.sound.sampled.spi,\
javax.sql,\
javax.sql.rowset,\
javax.sql.rowset.serial,\
javax.sql.rowset.spi,\
javax.swing,\
javax.swing.border,\
javax.swing.colorchooser,\
javax.swing.event,\
javax.swing.filechooser,\
javax.swing.plaf,\
javax.swing.plaf.basic,\
javax.swing.plaf.metal,\
javax.swing.plaf.multi,\
javax.swing.plaf.nimbus,\
javax.swing.plaf.synth,\
javax.swing.table,\
javax.swing.text,\
javax.swing.text.html,\
javax.swing.text.html.parser,\
javax.swing.text.rtf,\
javax.swing.tree,\
javax.swing.undo,\
javax.tools,\
javax.xml,\
javax.xml.bind,\
javax.xml.bind.annotation,\
javax.xml.bind.annotation.adapters,\
javax.xml.bind.attachment,\
javax.xml.bind.helpers,\
javax.xml.bind.util,\
javax.xml.crypto,\
javax.xml.crypto.dom,\
javax.xml.crypto.dsig,\
javax.xml.crypto.dsig.dom,\
javax.xml.crypto.dsig.keyinfo,\
javax.xml.crypto.dsig.spec,\
javax.xml.datatype,\
javax.xml.namespace,\
javax.xml.parsers,\
javax.xml.soap,\
javax.xml.stream,\
javax.xml.stream.events,\
javax.xml.stream.util,\
javax.xml.transform,\
javax.xml.transform.dom,\
javax.xml.transform.sax,\
javax.xml.transform.stax,\
javax.xml.transform.stream,\
javax.xml.validation,\
javax.xml.ws,\
javax.xml.ws.handler,\
javax.xml.ws.handler.soap,\
javax.xml.ws.http,\
javax.xml.ws.soap,\
javax.xml.ws.spi,\
javax.xml.ws.spi.http,\
javax.xml.ws.wsaddressing,\
javax.xml.xpath,\
org.ietf.jgss,\
org.omg.CORBA,\
org.omg.CORBA_2_3,\
org.omg.CORBA_2_3.portable,\
org.omg.CORBA.DynAnyPackage,\
org.omg.CORBA.ORBPackage,\
org.omg.CORBA.portable,\
org.omg.CORBA.TypeCodePackage,\
org.omg.CosNaming,\
org.omg.CosNaming.NamingContextExtPackage,\
org.omg.CosNaming.NamingContextPackage,\
org.omg.Dynamic,\
org.omg.DynamicAny,\
org.omg.DynamicAny.DynAnyFactoryPackage,\
org.omg.DynamicAny.DynAnyPackage,\
org.omg.IOP,\
org.omg.IOP.CodecFactoryPackage,\
org.omg.IOP.CodecPackage,\
org.omg.Messaging,\
org.omg.PortableInterceptor,\
org.omg.PortableInterceptor.ORBInitInfoPackage,\
org.omg.PortableServer,\
org.omg.PortableServer.CurrentPackage,\
org.omg.PortableServer.POAManagerPackage,\
org.omg.PortableServer.POAPackage,\
org.omg.PortableServer.portable,\
org.omg.PortableServer.ServantLocatorPackage,\
org.omg.SendingContext,\
org.omg.stub.Java.rmi,\
org.w3c.dom,\
org.w3c.dom.bootstrap,\
org.w3c.dom.css,\
org.w3c.dom.events,\
org.w3c.dom.html,\
org.w3c.dom.ls,\
org.w3c.dom.ranges,\
org.w3c.dom.stylesheets,\
org.w3c.dom.traversal,\
org.w3c.dom.views,\
org.w3c.dom.xpath,\
org.xml.sax,\
org.xml.sax.ext,\
org.xml.sax.helpers
Java.lang.ClassNotFoundException: javax.annotation.PostConstruct
の問題を取り除くには、-vmargs
のEclipse.ini
の下に次の行を追加してみてください。
-Djdk.launcher.addmods=Java.annotations.common
(JDK 9 EAビルド132で--add-modules=Java.annotations.common
に変更されます)
https://bugs.Eclipse.org/bugs/show_bug.cgi?id=493761 を参照してください
更新:この回答以来、より多くのものが変更されたため、現在JDK 9 b177とこれらの追加されたvmargsでEclipseを実行しています:--add-modules = Java.xml.bind、Java.xml.ws.annotation
Eclipse.iniの最後に次の行を追加します
--add-modules=Java.se.ee
多くのQ&Aがこれと重複しているとマークされているため、既に提案されているソリューションはそれでもハッキングです。
2017年10月11日現在の更新-最新の Eclipseパッケージにアップグレードする必要があります Eclipse Oxygen.1a(4.7.1a)はリリース済みとしてマークされ、Java 9。
編集後、Eclipse.iniファイルで行う必要があります
そして、それはあなたの問題を解決します。 Eclipse.iniファイルは次のようになります。
--launcher.appendVmargs
-vm
C:\Program Files\Java\jdk-9\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
--add-modules=ALL-SYSTEM
きみの Eclipse.ini
はJVMの指定に誤りがあります。まず、-vm
オプションは、-vmargs
行。第二に、bin
フォルダーの場所ではなく、Java実行可能ファイル(またはdll))を指定しないでください。 Eclipse.ini wikiページ を参照してください=詳細について(およびそこに書かれた詳細に注意を払う)。
ところで、Eclipse.ini
あなたのやり方は?その誤報を修正することを期待して、ソースを知りたいです。
Eclipse.iniにこれを追加するとうまくいきました
--add-modules=Java.se.ee
-XX:+IgnoreUnrecognizedVMOptions
同じ問題がありました。 NoClassDefFoundErrorは、Java 9 JDKでプロジェクトをビルド/コンパイルすることを選択すると表示されます。EclipseはルートJDKフォルダーで必要なjarファイルを見つけることができないため、完全に起動できません。 Java 9マーケットプレイスからプラグインをサポートすると、Eclipseを起動できるかもしれませんが、それでも多くのエラーが表示され、単一のプロジェクトをコンパイルできなくなります。 )は、「プロジェクト設定」の下の「インストールされたJRE」でJava 9 JREに切り替えます。これにより、すべてが修正されました。
here から取得した、詳細な手順については記事全体を読むことをお勧めします。
この問題は、マシンにJavaの異なるバージョンがあるために発生することがあります。正しいバージョンで.iniファイルを更新するためにこの問題を解決しました。