[JAVA] Comment résoudre le problème qu'Aptana Studio ne démarre pas

Qu'est-il arrivé

Lorsque j'ai essayé de démarrer Aptana Studio, la boîte de dialogue suivante s'est affichée. スクリーンショット 2019-01-05 13.13.47.png

En regardant le fichier journal affiché dans la boîte de dialogue, l'erreur suivante s'est produite.

log:.metadata/.log


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 com.aptana.rcp.IDEApplication.start(IDEApplication.java:126)
        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:566)
        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)
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)
        ... 22 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(ClassLoader.java:521)
        ... 24 more

!ENTRY org.eclipse.e4.ui.workbench 4 0 2019-01-05 13:11:00.566
!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

Cause

La version Java par défaut était Java 11. Lorsque j'ai vérifié la version Java utilisée par défaut, C'était Java 11 comme indiqué ci-dessous.

Vérifiez le JDK utilisé par défaut


$ java --version
openjdk 11.0.1 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)

Solution

En principe, AptanaStudio (ou eclipse) utilise Java au démarrage. S'il s'agit de Java8, il démarrera normalement, spécifiez donc la version JDK lors du démarrage direct d'Aptana Studio.

1. Vérifiez le JDK installé

Vous pouvez vérifier le JDK actuellement installé avec la commande suivante.

Vérifier le JDK installé


$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    11.0.1, x86_64:	"OpenJDK 11.0.1"	/Library/Java/JavaVirtualMachines/openjdk-11.0.1.jdk/Contents/Home
    1.8.0_181, x86_64:	"Java SE 8"	/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home

2. Spécifiez Java 8 comme JDK lors du démarrage d'Aptana Studio

Info.plist existe dans AptanaStudio.app, alors modifiez ce fichier.

xml:/Applications/AptanaStudio.app/Contents/Info.plist


<key>Eclipse</key>
  <array>
    <!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options,
         or add a VM found via $/usr/libexec/java_home -V
      <string>-vm</string><string>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/java</string>-->
      <string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java</string>
      <string>-keyring</string>
      <string>~/.eclipse_keyring</string>
  </array>

Modifiez l'argument de -vm comme ci-dessus. (Cela aurait dû être commenté au début) La valeur spécifiée peut être spécifiée en se référant au chemin confirmé dans "1. Confirmation du JDK installé" ci-dessus.

Vous pouvez maintenant démarrer Aptana Studio.

Recommended Posts

Comment résoudre le problème qu'Aptana Studio ne démarre pas
Comment obtenir le journal lorsque install4j ne démarre pas
Comment interagir avec un serveur qui ne plante pas l'application
[Erreur] Comment résoudre le phénomène selon lequel l'écran ne passe pas après l'édition
[Android Studio] [Java] Comment réparer l'écran verticalement
[Rails] Le problème que pry-byebug ne s'arrête pas au point d'arrêt
[Rails] Résolution du problème selon lequel le délai d'expiration de la session ne fonctionne pas
Comment résoudre le problème que l'image du site Web ne s'affiche pas après le déploiement sur heroku dans Rails 5
Comment résoudre le problème selon lequel la notification ne peut pas être demandée sur iOS14
Comment résoudre le problème que le bean n'est pas traité correctement lorsqu'il est imbriqué dans Spring Batch
Comment faire fonctionner @Transactional qui ne fonctionne pas si vous ne l'utilisez pas correctement
[Grails] Une erreur s'est produite lors de l'exécution Que faire lorsque la CLI Grails ne démarre pas
[Swift] Comment décrire simplement le rejet qui n’a pas été enseigné dans le livre d’introduction
Le terminal ne démarre pas
[Débutant] Découvrez le problème N + 1! Comment utiliser Bullet
[Java] Le problème selon lequel les images téléchargées ne sont pas mises à jour en raison de l'influence du cache
L'histoire qui a conduit à résoudre l'erreur car postgres n'a pas commencé avec docker-compose up
Comment résoudre le problème lorsque la valeur n'est pas envoyée lorsque le formulaire est désactivé dans les rails et envoyé
Comment faire une capture d'écran avec l'émulateur Android Studio
Comment remplacer des caractères que vous ne comprenez pas [Principe]
[Firebase] Firebase Auth currentUser ne devient pas nul même après la désinstallation de l'application
Comment résoudre le problème de non-sortie du journal de connexion lorsque l'application Web est arrêtée
Correction d'un problème où l'événement de défilement ne se déclenchait pas dans JQuery
Le problème de la réorganisation arbitraire des attributs XML dans Android Studio
À propos de la question pour laquelle j'étais accro à l'utilisation de hashmap
Comment identifier le chemin sur lequel il est facile de se tromper
L'opérateur qui est né pour naître, instanceof (Java) ~ Comment utiliser l'opérateur instanceof ~
Correspondant à "erreur que l'authentification de base ne réussit pas" dans le code de test "L'histoire qui n'a pas pu être faite"
[Rails] Comment résoudre le problème d'écrasement de l'image par défaut lors de l'édition sans télécharger l'image [Active Storage]
Comment utiliser la méthode link_to
La base de données de test Docker ne démarre pas
Comment utiliser la méthode include?
Comment trouver l'angle moyen
Comment utiliser la classe wrapper
Comment ajouter la fonction de suppression
Le conteneur ne commence pas par docker-compose
Comment démarrer Camunda avec Docker
[Bootstrap] Comment utiliser le "système de grille" qui prend en charge la conception Web réactive
[Docker] Comment résoudre la fonction d'erreur non implémentée @ io_fread ~ [Super facile]
Comment contraindre l'action de la destination de transition lorsqu'elle n'est pas connectée