我在我的 PC 上安裝了 Apache Netbeans。一切正常。但是第二天我想繼續我的作業,但從那以后我總是遇到一個例外:
A java.lang.IllegalAccessError exception has occurred.
Please report this at https://issues.apache.org/jira/projects/NETBEANS/issues,
including a copy of your messages.log file as an attachment.
The messages.log file is located in your
C:\Users\svent\AppData\Roaming\NetBeans\12.0\var\log folder.
我有以下設定:
產品版本:Apache NetBeans IDE 12.0
爪哇:17;OpenJDK 64 位服務器 VM 17 35-2724
系統:Windows 10 amd64
我試圖卸載所有內容并重新安裝。我還嘗試使用 Java 11 或 Java 14。我還嘗試從 AppData 中的 netbeans 中洗掉 12.0 檔案夾。但這些都沒有幫助。
這是確切的例外:
java.lang.IllegalAccessError: superclass access check failed: class org.netbeans.lib.nbjavac.services.CancelAbort (in unnamed module @0x6a51d5d0) cannot access class com.sun.tools.javac.util.Abort (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.util to unnamed module @0x6a51d5d0
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
at org.netbeans.JarClassLoader.doLoadClass(JarClassLoader.java:287)
at org.netbeans.ProxyClassLoader.selfLoadClass(ProxyClassLoader.java:246)
at org.netbeans.ProxyClassLoader.doFindClass(ProxyClassLoader.java:174)
at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:125)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at org.netbeans.modules.java.source.parsing.JavacParserFactory.createPrivateParser(JavacParserFactory.java:79)
at org.netbeans.api.java.source.JavaSource$JavaSourceAccessorImpl.createCompilationController(JavaSource.java:739)
at org.netbeans.modules.java.source.JavaSourceUtilImpl.getModuleInfoHandle(JavaSourceUtilImpl.java:271)
at org.netbeans.modules.java.preprocessorbridge.spi.JavaSourceUtilImpl$MyAccessor.getModuleInfoHandle(JavaSourceUtilImpl.java:119)
at org.netbeans.modules.java.preprocessorbridge.api.ModuleUtilities.init(ModuleUtilities.java:122)
at org.netbeans.modules.java.preprocessorbridge.api.ModuleUtilities.resolveModule(ModuleUtilities.java:104)
at org.netbeans.modules.java.api.common.classpath.ModuleClassPaths$ModuleInfoClassPathImplementation.getResources(ModuleClassPaths.java:882)
at org.netbeans.api.java.classpath.ClassPath.entries(ClassPath.java:363)
at org.netbeans.spi.java.classpath.support.MuxClassPathImplementation.getResources(MuxClassPathImplementation.java:90)
at org.netbeans.api.java.classpath.ClassPath$SPIListener.propertyChange(ClassPath.java:1343)
at org.openide.util.WeakListenerImpl$PropertyChange.propertyChange(WeakListenerImpl.java:190)
at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268)
at org.netbeans.spi.java.classpath.support.MuxClassPathImplementation.propertyChange(MuxClassPathImplementation.java:127)
at org.openide.util.WeakListenerImpl$PropertyChange.propertyChange(WeakListenerImpl.java:190)
at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268)
at org.netbeans.modules.java.api.common.classpath.ClassPathProviderImpl$SourceLevelSelector.propertyChange(ClassPathProviderImpl.java:1575)
at org.openide.util.WeakListenerImpl$PropertyChange.propertyChange(WeakListenerImpl.java:190)
at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
at org.netbeans.spi.project.support.ant.SequentialPropertyEvaluator.stateChanged(SequentialPropertyEvaluator.java:185)
at org.openide.util.WeakListenerImpl$Change.stateChanged(WeakListenerImpl.java:331)
at org.openide.util.ChangeSupport.fireChange(ChangeSupport.java:108)
at org.openide.util.ChangeSupport.fireChange(ChangeSupport.java:94)
at org.netbeans.spi.project.support.ant.ProjectProperties$PP$2.run(ProjectProperties.java:365)
at org.netbeans.spi.project.support.ant.ProjectProperties$PP$2.run(ProjectProperties.java:363)
at org.netbeans.modules.openide.util.DefaultMutexImplementation.readAccess(DefaultMutexImplementation.java:188)
at org.openide.util.Mutex.readAccess(Mutex.java:193)
at org.netbeans.spi.project.support.ant.ProjectProperties$PP.fireChange(ProjectProperties.java:371)
at org.netbeans.spi.project.support.ant.ProjectProperties$PP.put(ProjectProperties.java:225)
at org.netbeans.spi.project.support.ant.ProjectProperties.putProperties(ProjectProperties.java:107)
at org.netbeans.spi.project.support.ant.AntProjectHelper$6.run(AntProjectHelper.java:740)
at org.netbeans.spi.project.support.ant.AntProjectHelper$6.run(AntProjectHelper.java:738)
at org.netbeans.modules.openide.util.DefaultMutexImplementation.writeAccess(DefaultMutexImplementation.java:229)
at org.openide.util.Mutex.writeAccess(Mutex.java:246)
at org.netbeans.spi.project.support.ant.AntProjectHelper.putProperties(AntProjectHelper.java:738)
at org.netbeans.modules.java.j2seproject.api.J2SEProjectBuilder.createProject(J2SEProjectBuilder.java:579)
at org.netbeans.modules.java.j2seproject.api.J2SEProjectBuilder.lambda$build$0(J2SEProjectBuilder.java:312)
at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:102)
at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:494)
at org.netbeans.modules.java.j2seproject.api.J2SEProjectBuilder.build(J2SEProjectBuilder.java:310)
at org.netbeans.modules.java.j2seproject.J2SEProjectGenerator.createProject(J2SEProjectGenerator.java:59)
at org.netbeans.modules.java.j2seproject.ui.wizards.NewJ2SEProjectWizardIterator.instantiate(NewJ2SEProjectWizardIterator.java:187)
at org.openide.loaders.TemplateWizard$InstantiatingIteratorBridge.instantiate(TemplateWizard.java:1048)
at org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:602)
at org.netbeans.modules.project.ui.NewProjectWizard.handleInstantiate(NewProjectWizard.java:51)
at org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:436)
at org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:228)
at org.openide.loaders.TemplateWizardIteratorWrapper$ProgressInstantiatingIterator.instantiate(TemplateWizardIteratorWrapper.java:155)
at org.openide.WizardDescriptor.callInstantiateOpen(WizardDescriptor.java:1602)
at org.openide.WizardDescriptor.callInstantiate(WizardDescriptor.java:1546)
at org.openide.WizardDescriptor.access$2300(WizardDescriptor.java:67)
at org.openide.WizardDescriptor$Listener$2$1.run(WizardDescriptor.java:2233)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)
我希望有人能幫我解決這個問題,因為我不知道該怎么辦了。
uj5u.com熱心網友回復:
您正在使用 JDK 17 運行 NetBeans 12.0。這不是受支持的組合。
您有兩個選擇:
- 堅持使用 NetBeans 12.0,并改用 JDK 14。
- 堅持使用 JDK 17,并改用 NetBeans 12.5。(在這種情況下,您無需先卸載 NetBeans 12.0。)
有關支持哪些 Java 版本的詳細資訊,請參閱NetBeans 12.0和NetBeans 12.5的發行說明。
與此類似的問題在這里很常見,遺憾的是 NetBeans 在主動防止使用不受支持的 JDK 方面沒有做得更好。也就是說,在 NetBeans 防御中:
- 您發布的錯誤訊息明確地將您引向 NetBeans 日志檔案 (
messages.log) 以獲取更多資訊。 - NetBeans 發行說明始終明確說明給定的 NetBeans 發行版支持哪些 Java 版本,并且不應做出任何假設。例如,在 NetBeans 12.5 的情況下,受支持的版本是“JDK LTS 版本 8 和 11,具有對 JDK 17 的實驗性支持”。該資訊很重要,因為它表明盡管 JDK 17 具有“實驗性支持”,但不支持 JDK 12 至 JDK 16 版本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/343953.html
