Repository navigation
java.lang.IllegalAccessError: class com.google.googlejavaformat.java.JavaInput #787
Description
Activity
Taken from #779 a less-than-ideal workaround is to add these JVM arguments to intellij
--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMEDYou can find instructions here https://www.jetbrains.com/help/idea/tuning-the-ide.html#374b2f00
for me on macOS the file was
/Applications/IntelliJ IDEA 2022.2 EAP.app/Contents/bin/idea.vmoptionsUpdate: best way to find this file is from the menus: Help > Edit Custom VM Options
Reacted by 𝐏𝐧𝐞𝐮𝐦𝐚, Huybn, Jonathon Henderson, Luis Costa, Andrej Urvantsev, Werner Donné, Kevin Böckler, mbzmak, AirGermanWolf-edu, IWR2 and 89 moreReacted by Vishwa, Ali Ben Messaoud, Joel Sticha, Roy Parreira, nitinangadi, Ali Gol Gol, Michael Birsak, Leonel Gutierrez, nicof, Daniel Bryce Evans and 1 moreReacted by Casey, Boris Gordon, Dream Hunter, George Spalding, Josue V, andreaerrico-orbyta, Fahim Fahad, Luis Martinez, RUSLAN LÓPEZ CARRO, Berto Gomez and 21 moreReacted by Kostiantyn@chadselph I tried this on
2022.1.2, but it didn't help.Reacted by Robert Metzger, shane, Jay Sen and Ali RazaghiHappens to me on a java11 project and the VM options solved it. Im using 2022.2 EAP right now
Reacted by Ankur Rajput and Tiansu YuI can confirm that adding the VM options solves the problem for
2022.2 EAP, but does not for the earlier non-EAP versions.Reacted by Chad Selph and heng zhaoSame error on IntelliJ 2022.2 and JDK Sap Machine 11
Taken from #779 a less-than-ideal workaround is to add these JVM arguments to intellij
--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMEDYou can find instructions here https://www.jetbrains.com/help/idea/tuning-the-ide.html#374b2f00
for me on macOS the file was
/Applications/IntelliJ IDEA 2022.2 EAP.app/Contents/bin/idea.vmoptionsHad the issue after upgrading to 2022.2 (Community Edition), and this workaround solved it.
Reacted by bobai, Carlos Cascante, Stephan Schroevers, David Kariuki (DK), Canatto Filipe, Josue V, Alejo Ceballos, Vitalii Smokov, sergiorocha-hotmart, Koushik Ananthasayanam and 6 moreFwiw, the arguments used to run tests, and put into the JAR manifest, are a bit different, so I'd rather use those:
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMEDReacted by bobai, jpg1024, Songxp, broot02, Petar Nobilo, Manu Sridharan, Josue V, lt-fancy, Anil Dhenga, Lijing Ye and 7 moreReacted by jpg1024, Songxp and Matt BrownI use: IntelliJ IDEA 2022.2, it can be used after modifying it in the following way.
Help - Edit Custom VM Options
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMEDReacted by Lazar Stanojević, metadevj, Leon Breedt, LeoChaser, Austin Brown, Victor Santillan, Justin Purdie, Talos, broot02, Chris Damian and 76 moreReacted by metadevj, Victor Santillan, BoX Fan, Cézar Augusto Nascimento e Silva, Debodirno Chandra, poe87 and Harvinder S SidhuReacted by Xigua7i, Cézar Augusto Nascimento e Silva, Piper, Jesper Rønn-Jensen, Hans Melo, Niklas Griese, Parinith Iyer, Debodirno Chandra, Carissa Allen, Aleksei Kutuzov and 6 moreReacted by Victor Santillan, Luca Pandini, Trask Stalnaker, Daschi, BoX Fan, Cézar Augusto Nascimento e Silva, Saucistophe, Jesper Rønn-Jensen, Riccardo Cardin, Niklas Griese and 5 moreFacing the same issue
Error log:java.util.concurrent.ExecutionException: java.lang.IllegalAccessError: class com.google.googlejavaformat.java.JavaInput (in unnamed module @0x2c215cec) cannot access class com.sun.tools.javac.parser.Tokens$TokenKind (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.parser to unnamed module @0x2c215cec at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.checkStop(AbstractLayoutCodeProcessor.java:468) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.performFileProcessing(AbstractLayoutCodeProcessor.java:462) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor.lambda$runProcessFile$0(AbstractLayoutCodeProcessor.java:291) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$2.run(AbstractLayoutCodeProcessor.java:316) at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:442) at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:114) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$5(CoreProgressManager.java:493) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:252) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:252) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.lang.IllegalAccessError: class com.google.googlejavaformat.java.JavaInput (in unnamed module @0x2c215cec) cannot access class com.sun.tools.javac.parser.Tokens$TokenKind (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.parser to unnamed module @0x2c215cec at com.google.googlejavaformat.java.JavaInput.buildToks(JavaInput.java:349) at com.google.googlejavaformat.java.JavaInput.buildToks(JavaInput.java:334) at com.google.googlejavaformat.java.JavaInput.<init>(JavaInput.java:276) at com.google.googlejavaformat.java.Formatter.getFormatReplacements(Formatter.java:260) at com.google.googlejavaformat.intellij.FormatterUtil.getReplacements(FormatterUtil.java:40) at com.google.googlejavaformat.intellij.GoogleJavaFormatCodeStyleManager.format(GoogleJavaFormatCodeStyleManager.java:150) at com.google.googlejavaformat.intellij.GoogleJavaFormatCodeStyleManager.formatInternal(GoogleJavaFormatCodeStyleManager.java:137) at com.google.googlejavaformat.intellij.GoogleJavaFormatCodeStyleManager.reformatText(GoogleJavaFormatCodeStyleManager.java:69) at com.intellij.codeInsight.actions.ReformatCodeProcessor.lambda$doReformat$5(ReformatCodeProcessor.java:196) at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:149) at com.intellij.codeInsight.actions.ReformatCodeProcessor.lambda$doReformat$6(ReformatCodeProcessor.java:186) at com.intellij.openapi.editor.ex.util.EditorScrollingPositionKeeper.perform(EditorScrollingPositionKeeper.java:100) at com.intellij.codeInsight.actions.ReformatCodeProcessor.doReformat(ReformatCodeProcessor.java:186) at com.intellij.codeInsight.actions.ReformatCodeProcessor.lambda$prepareTask$2(ReformatCodeProcessor.java:134) at com.intellij.application.options.CodeStyle.doWithTemporarySettings(CodeStyle.java:338) at com.intellij.codeInsight.actions.ReformatCodeProcessor.lambda$prepareTask$3(ReformatCodeProcessor.java:130) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.lambda$performFileProcessing$5(AbstractLayoutCodeProcessor.java:459) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$1(WriteCommandAction.java:150) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1023) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$2(WriteCommandAction.java:148) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:219) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:184) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.doRunWriteCommandAction(WriteCommandAction.java:157) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:124) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.lambda$performFileProcessing$6(AbstractLayoutCodeProcessor.java:459) at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209) at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21) at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881) at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:513) at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:95) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:75) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:118) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:42) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:779) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:749) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:898) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:746) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:439) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:438) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105) at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:604) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:436) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:484) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)Same issue.
Community Edition 2022.2, build #IC-222.3345.118
java.lang.IllegalAccessError: class com.google.googlejavaformat.java.JavaInput (in unnamed module @0x349f5eec) cannot access class com.sun.tools.javac.parser.Tokens$TokenKind (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.parser to unnamed module @0x349f5eec at com.google.googlejavaformat.java.JavaInput.buildToks(JavaInput.java:349) at com.google.googlejavaformat.java.JavaInput.buildToks(JavaInput.java:334) at com.google.googlejavaformat.java.JavaInput.<init>(JavaInput.java:276) at com.google.googlejavaformat.java.Formatter.getFormatReplacements(Formatter.java:260) at com.google.googlejavaformat.intellij.FormatterUtil.getReplacements(FormatterUtil.java:40) at com.google.googlejavaformat.intellij.GoogleJavaFormatCodeStyleManager.format(GoogleJavaFormatCodeStyleManager.java:150) at com.google.googlejavaformat.intellij.GoogleJavaFormatCodeStyleManager.formatInternal(GoogleJavaFormatCodeStyleManager.java:137) at com.google.googlejavaformat.intellij.GoogleJavaFormatCodeStyleManager.reformatRange(GoogleJavaFormatCodeStyleManager.java:107) at com.intellij.codeInsight.editorActions.DefaultTypingActionsExtension.reformatRange(DefaultTypingActionsExtension.java:120) at com.intellij.codeInsight.editorActions.DefaultTypingActionsExtension.format(DefaultTypingActionsExtension.java:76) at com.intellij.codeInsight.editorActions.TypedHandler.lambda$indentBrace$3(TypedHandler.java:649) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1023) at com.intellij.codeInsight.editorActions.TypedHandler.indentBrace(TypedHandler.java:644) at com.intellij.codeInsight.editorActions.TypedHandler.indentClosingBrace(TypedHandler.java:592) at com.intellij.codeInsight.editorActions.TypedHandler.lambda$doExecute$2(TypedHandler.java:213) at com.intellij.openapi.editor.impl.CaretModelImpl.lambda$runForEachCaret$3(CaretModelImpl.java:312) at com.intellij.openapi.editor.impl.CaretModelImpl.doWithCaretMerging(CaretModelImpl.java:421) at com.intellij.openapi.editor.impl.CaretModelImpl.runForEachCaret(CaretModelImpl.java:321) at com.intellij.openapi.editor.impl.CaretModelImpl.runForEachCaret(CaretModelImpl.java:296) at com.intellij.codeInsight.editorActions.TypedHandler.doExecute(TypedHandler.java:152) at com.intellij.codeInsight.editorActions.TypedHandler.lambda$execute$0(TypedHandler.java:134) at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:149) at com.intellij.codeInsight.editorActions.TypedHandler.execute(TypedHandler.java:134) at com.intellij.codeInsight.lookup.impl.LookupTypedHandler.execute(LookupTypedHandler.java:73) at com.intellij.codeInsight.template.emmet.EmmetPreviewTypedHandler.execute(EmmetPreviewTypedHandler.java:39) at com.intellij.execution.impl.ConsoleViewImpl$MyTypedHandler.execute(ConsoleViewImpl.java:1148) at com.intellij.openapi.editor.impl.DefaultRawTypedHandler$1.run(DefaultRawTypedHandler.java:55) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1023) at com.intellij.openapi.editor.impl.DefaultRawTypedHandler.execute(DefaultRawTypedHandler.java:49) at com.intellij.openapi.editor.impl.EditorFactoryImpl$MyRawTypedHandler.execute(EditorFactoryImpl.java:295) at com.intellij.openapi.editor.actionSystem.TypedAction.lambda$actionPerformed$2(TypedAction.java:200) at com.intellij.reporting.FreezeLoggerImpl.runUnderPerformanceMonitor(FreezeLoggerImpl.java:28) at com.intellij.openapi.editor.actionSystem.TypedAction.lambda$actionPerformed$3(TypedAction.java:199) at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:149) at com.intellij.openapi.editor.actionSystem.TypedAction.actionPerformed(TypedAction.java:199) at com.intellij.openapi.editor.impl.EditorImpl.processKeyTypedNormally(EditorImpl.java:1330) at com.intellij.openapi.editor.impl.EditorImpl.processKeyTyped(EditorImpl.java:1312) at com.intellij.openapi.editor.impl.EditorImpl.processKeyTyped(EditorImpl.java:3475) at com.intellij.openapi.editor.impl.EditorImpl$7.keyTyped(EditorImpl.java:1145) at java.desktop/java.awt.Component.processKeyEvent(Component.java:6603) at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2899) at java.desktop/java.awt.Component.processEvent(Component.java:6425) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5022) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854) at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1964) at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:886) at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1166) at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1023) at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:849) at com.intellij.ide.IdeKeyboardFocusManager.lambda$dispatchEvent$0(IdeKeyboardFocusManager.java:48) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105) at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:604) at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:48) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4903) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2802) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:781) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:754) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:752) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:751) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:898) at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:807) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:740) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:439) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:438) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113) at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:604) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:436) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:484) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)I use: IntelliJ IDEA 2022.2, it can be used after modifying it in the following way.
Help - Edit Custom VM Options
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMEDAfter I added this configuration it worked fine, thank you!
Reacted by Jinhuan Lei, Marcin Świerczyński, andreaerrico-orbyta, Khaja Md Sher E Alam, Blaine Xie, Manu Sridharan, Dylon, Riccardo Cardin, duck_bbbR, Antonio Musarra and 4 more31 remaining items
fyi: the add-VM args works also for Eclipse (STS 4.16.1.RELEASE)
Perhaps it's a good idea to catch
Caused by: java.lang.IllegalAccessError: class com.google.googlejavaformat.java.JavaInput (in unnamed module @0x32b9d1f3) cannot access class com.sun.tools.javac.parser.Tokens$TokenKind (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.parser to unnamed module @0x32b9d1f3at some code located in
com.google.googlejavaformat.javain order to forward users to this issue by wrapping it in a newGoogleJavaFormatIssue787Exception😉
Reacted by Jonathan Bluett-Duncan, Stephan Schroevers, Clemens Keppler and Tharun K--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMEDThis did not work on IntelliJ IDEA 2022.3.1 (Ultimate Edition), intelliJ stopped opening, and had to remove these options directly from the file in order to start the iDE.
Reacted by FehmiReacted by Jonathan Bluett-DuncanI have the same issue. I easily fix this by changing from JAVA JDK 17 to JAVA JDK 8.
EDIT:
At least it is working for me when changing from Java 17 to Java 8. Maybe it is not supported in new version?? I don't know 😑Reacted by Mirza Ramovic, Marco Lackovic, Remco, Réda Housni Alaoui, Chad Selph, seqwait and FyiurAmronReacted by Marco Lackovic and FyiurAmronReacted by Chad SelphI reported this problem to jetbrains, in https://youtrack.jetbrains.com/issue/IDEA-298748/Google-Java-Formatter-plugin-broken-after-IDE-update, and they sent me here.
It's true that adding the exports and opens works in the latest IntelliJ with Java 11 and Java 17.
But Java 8 doesn't recognize the flags, and throws an exception.
Yet removing the flags causes GJF to blow up with the illegal-access error, on Java 8 projects.
Which is a catch-22: flags aren't compatible with Java 8, but removing them causes the exception.
It appears something went wrong in GJF where it requires the flags regardless of Java version.It's worth mentioning that this issue happens when Intellij itself runs with JDK 17. This can be checked by going to Help > Find Action > Choose Boot Runtime for the IDE
Only if that's the case you would need to add the additional JVM options mentioned in #787 (comment)
Doing this caused Intellij to shut down and now it won't start.
Intellij 2022.3 CE on macOSReacted by Alan D. Cabrera and Kyle--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMEDWORKS !
There's not a good way to avoid the
--add-exportsrequirement, unfortunately. But the newest version of the plugin at least detects the issue and links you to the instructions about how to change your IDE's settings.I think that's about the best we can do, so I'm going to mark this fixed for now. Thanks.
Reacted by Garrick Peterson, stephenmontgomery, fostercraig, Chi Zhang and stillgadoReacted by Thomas BroyerReacted by Thomas Broyer, Liam Miller-Cushon and abuchanan-nrI reported this problem to jetbrains, in https://youtrack.jetbrains.com/issue/IDEA-298748/Google-Java-Formatter-plugin-broken-after-IDE-update, and they sent me here.
It's true that adding the exports and opens works in the latest IntelliJ with Java 11 and Java 17.
But Java 8 doesn't recognize the flags, and throws an exception.
Yet removing the flags causes GJF to blow up with the illegal-access error, on Java 8 projects.
Which is a catch-22: flags aren't compatible with Java 8, but removing them causes the exception.
It appears something went wrong in GJF where it requires the flags regardless of Java version.It's worth mentioning that this issue happens when Intellij itself runs with JDK 17. This can be checked by going to Help > Find Action > Choose Boot Runtime for the IDE

Only if that's the case you would need to add the additional JVM options mentioned in #787 (comment)Doing this caused Intellij to shut down and now it won't start. Intellij 2022.3 CE on macOS
Yes, It caused my IDE not starting up. To revert to old setup, delete the idea.jdk or idea64.jdk file in the config directory and then start the IDE. Config directory path for IntelliJ in different OS is listed here.
→ https://github.com/google/google-java-format#intellij-jre-config (and maybe also update to the latest version of the plugin)
Latest plugin with all the configs still broken for me.
Bashing the format keybind seems to make it work most times 😢seeing a similar problem with a different module in googlejavaformat library
Caused by: java.lang.IllegalAccessError: class com.google.googlejavaformat.java.RemoveUnusedImports (in unnamed module @0x2b099be2) cannot access class com.sun.tools.javac.util.Context (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.util to unnamed module @0x2b099be2 at com.google.googlejavaformat.java.RemoveUnusedImports.removeUnusedImports(RemoveUnusedImports.java:218) ... 142 moreI added the below workaround, but no luck. I'm on IntelliJ IDEA 2023.2.5. any advice?
I use: IntelliJ IDEA 2022.2, it can be used after modifying it in the following way.
Help - Edit Custom VM Options
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMEDalso note, I am also experiencing this outside of intellij when building. I tried adding the above workaround to my
gradle.propertiesfile like soorg.gradle.jvmargs=-Xms2g -Xmx8g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 \ --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \ --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \ --add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED \ --add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED \ --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \ --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED \ --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \ --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \ --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \ --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMEDjava version
✗ java -version openjdk version "17.0.10" 2024-01-16 OpenJDK Runtime Environment Homebrew (build 17.0.10+0) OpenJDK 64-Bit Server VM Homebrew (build 17.0.10+0, mixed mode, sharing)adding jvm options is not a solution, it is a workaround

--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
I add those in here, and it finally works!😂



Information
Exception