Neon: comment courir sur jdk9?
Juste commencé à jouer avec jdk9 - et de type de coincé dès le début:
- téléchargé et extrait d'eclipse-java-néon-m4a-win32
- installé java 9 (par le mdn de marché)
- téléchargé et installé jdk9u99 (uniquement le jdk, pas le public jre)
À ce point, je peux faire tourner eclipse sur mon java par défaut (qui est 8u60) à la fois avec le jre/jdk (avec/hors vm argument dans eclipse.ini) et d'utiliser le java 9.
Comme prochaine étape, j'ai voulu lancer eclipse avec java 9: ajout de la vm-arg pour eclipse.ini, maintenant eclipse abandonne son démarrage avec un long journal des erreurs (à la fois ini et le journal sont affichées ci-dessous).
Où est le problème?
Mon 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\jdk90_ea\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
Le haut du journal des erreurs (c'est > 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)
Mise à jour
toujours pas de chance avec les dernières Néon (M6) et 9-ea-113, l'erreur enregistré a changé, bien que
!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
Qui ressemble à celui d'un rapport de bug. Il est marqué comme résolu dans M7.
source d'informationauteur kleopatra
Vous devez vous connecter pour publier un commentaire.
Edit: Vous pouvez télécharger la dernière version d'eclipse qui a le support de Java 9 - https://www.eclipse.org/downloads/eclipse-packages/
Je suis en cours d'exécution Java(TM) SE Runtime Environment (build 9-ea+158) et eclipse Version: Néon.Version 2 (4.6.2) - Build id: 20161208-0600
En quelque sorte les solutions avec
-Djdk.launcher.addmods=
et-addmods
à l'aide de valeursjava.se.ee
oujava.annotations.common
n'a pas de travail.Ci-dessous est la solution qui a fonctionné pour moi:
Source: https://issues.jboss.org/browse/JBIDE-22417?focusedCommentId=13310535&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13310535
Pour se débarrasser de la
java.lang.ClassNotFoundException: javax.annotation.PostConstruct
problème, essayez d'ajouter la ligne suivante sous-vmargs
dans votreeclipse.ini
:(Changement de
--add-modules=java.annotations.common
dans le JDK 9 EA construire 132)Voir https://bugs.eclipse.org/bugs/show_bug.cgi?id=493761
Mise à JOUR: Depuis cette réponse, plus les choses ont changé, je suis actuellement en cours d'exécution d'Eclipse avec JDK 9 b177 et ces vmargs:
--ajouter des modules=java.xml.lier,java.xml.ws.annotation
L'Éclipse De L'Oxygène.1a (4.7.1) Libération
Depuis beaucoup de Q&A, ont été marquées duplicata de celui-ci et l'a déjà suggéré des solutions sont néanmoins hacky.
Date du 11 octobre,en 2017 - Vous la mise à niveau vers la dernière package eclipse Éclipse de l'Oxygène.1a (4.7.1) qui est marquée comme libérée et prend en charge Java 9.
Ajoutez la ligne suivante à la fin de l'éclipse.ini
Votre
eclipse.ini
est mauvais pour la spécification de la JVM. Tout d'abord, la-vm
option de besoins pour être près de la fin, juste avant que tout-vmargs
ligne. Deuxièmement, vous n'avez pas à spécifier l'emplacement de labin
dossier, plutôt de l'exécutable java (ou dll). Voir l'éclipse.ini page wiki pour plus de détails (et de payer attention aux détails qui y sont inscrites).Par la voie, où avez-vous eu l'info pour écrire
eclipse.ini
la façon dont vous l'avez fait? J'aimerais connaître la source dans l'espoir de corriger que de la désinformation.J'ai le même message d'erreur que je trouve une solution de Configurer Eclipse pour Java 9
D'édition suivantes que vous avez à faire dans eclipse.fichier ini
C:\Program Files\Java\jdk-9\bin\javaw.exe
Et Il permettra de résoudre votre problème.
Votre eclipse.le fichier ini de ressembler à ce qui suit:
J'ai eu le même problème. Le NoClassDefFoundError affiche lorsque vous choisissez de construire/compiler votre projet avec Java JDK 9. Eclipse est impossible de trouver un fichier jar requis dans la racine du JDK dossier, de sorte qu'il ne parvient pas à démarrer complètement. Après l'installation de Java 9 support de plug-in dans le marché que vous pouvez être en mesure de démarrer Eclipse, mais encore, vous verrez un grand nombre d'erreurs et de ne pas être en mesure de compiler un projet unique. La solution (pour l'instant) est de passer à Java 9 JRE dans "Installé Jre" sous "Préférences du Projet". Ce fixe tout pour moi
Prises de icivous voudrez peut-être lire l'article complet pour en savoir plus