[JAVA] So lösen Sie das Problem, dass Aptana Studio nicht gestartet wird

Was ist passiert

Als ich versuchte, Aptana Studio zu starten, wurde der folgende Dialog angezeigt. スクリーンショット 2019-01-05 13.13.47.png

Bei Betrachtung der im Dialogfeld angezeigten Protokolldatei ist der folgende Fehler aufgetreten.

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

Ursache

Weil die Standard-Java-Version Java 11 war. Als ich die standardmäßig verwendete Java-Version überprüfte, Es war Java 11 wie unten gezeigt.

Überprüfen Sie das standardmäßig verwendete JDK


$ 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)

Lösungen

Als Voraussetzung verwendet AptanaStudio (oder Eclipse) beim Start Java. Wenn es sich um Java8 handelt, wird es normal gestartet. Geben Sie daher die JDK-Version an, wenn Sie Aptana Studio direkt starten.

1. Überprüfen Sie das installierte JDK

Sie können das aktuell installierte JDK mit dem folgenden Befehl überprüfen.

Überprüfen Sie das installierte JDK


$ /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. Geben Sie beim Starten von Aptana Studio Java 8 als JDK an

Info.plist ist in AptanaStudio.app vorhanden. Bearbeiten Sie diese Datei.

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>

Bearbeiten Sie das Argument von -vm wie oben. (Es hätte zuerst auskommentiert werden sollen) Der angegebene Wert kann unter Bezugnahme auf den in "1. Bestätigung des installierten JDK" oben bestätigten Pfad angegeben werden.

Sie können jetzt Aptana Studio starten.

Recommended Posts

So lösen Sie das Problem, dass Aptana Studio nicht gestartet wird
So erhalten Sie das Protokoll, wenn install4j nicht gestartet wird
So interagieren Sie mit einem Server, der die App nicht zum Absturz bringt
[Fehler] So beheben Sie das Phänomen, dass der Bildschirm nach der Bearbeitung nicht wechselt
[Android Studio] [Java] So fixieren Sie den Bildschirm vertikal
[Rails] Das Problem, dass pry-byebug nicht durch den Haltepunkt stoppt
[Rails] Behebung des Problems, dass das Sitzungszeitlimit nicht funktioniert
So lösen Sie das Problem, dass das Website-Image nach der Bereitstellung auf Heroku in Rails 5 nicht angezeigt wird
So lösen Sie das Problem, dass unter iOS14 keine Benachrichtigung angefordert werden kann
So lösen Sie das Problem, dass die Bean beim Verschachteln in Spring Batch nicht ordnungsgemäß verarbeitet wird
So funktioniert @Transactional, das nicht funktioniert, wenn Sie es falsch verwenden
[Grails] Beim Ausführen ist ein Fehler aufgetreten. Was ist zu tun, wenn die Grails-CLI nicht gestartet wird?
[Swift] Eine einfache Art, Entlassung zu beschreiben, die im Einführungsbuch nicht gelehrt wurde
Terminal startet nicht
[Anfänger] Entdecken Sie das N + 1-Problem! Wie benutzt man Bullet?
[Java] Das Problem, dass hochgeladene Bilder aufgrund des Einflusses des Caches nicht aktualisiert werden
Die Geschichte, die zur Lösung des Fehlers führte, weil postgres nicht mit Docker-Compose begann
So lösen Sie das Problem, wenn der Wert nicht gesendet wird, wenn das Formular in Schienen deaktiviert und gesendet wird
So machen Sie einen Screenshot mit dem Android Studio-Emulator
So ersetzen Sie Zeichen, die Sie nicht verstehen [Prinzip]
[Firebase] Firebase Auth currentUser wird auch nach der Deinstallation der App nicht null
So beheben Sie das Problem, dass beim Stoppen der Webanwendung kein Protokollierungsprotokoll ausgegeben wird
Es wurde ein Problem behoben, bei dem das Bildlaufereignis in JQuery nicht ausgelöst wurde
Das Problem, dass XML-Attribute in Android Studio willkürlich neu angeordnet werden
Über die Sache, dass ich süchtig danach war, wie man Hashmap benutzt
So identifizieren Sie den Pfad, auf dem leicht Fehler gemacht werden können
Der Operator, der geboren wurde, um geboren zu werden, instanceof (Java) ~ So verwenden Sie den instanceof-Operator ~
Entspricht "Fehler, dass die Basisauthentifizierung nicht bestanden wird" im Testcode "Die Geschichte, die nicht gemacht werden konnte".
[Rails] So lösen Sie das Problem, dass das Standardbild beim Bearbeiten überschrieben wird, ohne das Bild hochzuladen [Active Storage]
Verwendung der link_to-Methode
Die Docker-Test-DB wird nicht gestartet
Verwendung der include? -Methode
So finden Sie den durchschnittlichen Winkel
Verwendung der Wrapper-Klasse
So fügen Sie die Löschfunktion hinzu
Container startet nicht mit Docker-Compose
So starten Sie Camunda mit Docker
[Bootstrap] Verwendung von "Grid System" für responsives Webdesign
[Docker] So lösen Sie die nicht implementierte Fehlerfunktion @ io_fread ~ [Super einfach]
So beschränken Sie die Aktion des Übergangsziels, wenn Sie nicht angemeldet sind