Skip to content

Eclipse plugin v1.15.0 thows exception in 2022-03 #779

Description

@isaki

With the eclipse plugin 1.15.0 (named 1.13.0 on the releases page) the following exception is generated every time the formatter is executed or selected.

eclipse.buildId=4.23.0.I20220308-0310
java.version=17.0.2
java.vendor=Eclipse Adoptium
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.java.product -keyring /Users/isaki/.eclipse_keyring
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -keyring /Users/isaki/.eclipse_keyring

org.eclipse.ui
Error
Sat Apr 23 16:27:17 EDT 2022
Unhandled event loop exception

java.lang.IllegalAccessError: class com.google.googlejavaformat.java.JavaInput (in unnamed module @0x47d32e33) 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 @0x47d32e33
	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:280)
	at com.google.googlejavaformat.java.SnippetFormatter.format(SnippetFormatter.java:109)
	at com.google.googlejavaformat.java.GoogleJavaFormatter.formatInternal(GoogleJavaFormatter.java:87)
	at com.google.googlejavaformat.java.GoogleJavaFormatter.format(GoogleJavaFormatter.java:39)
	at org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.reformat(CodeFormatterUtil.java:361)
	at org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.reformat(CodeFormatterUtil.java:424)
	at org.eclipse.jdt.internal.ui.preferences.formatter.JavaPreview.doFormatPreview(JavaPreview.java:246)
	at org.eclipse.jdt.internal.ui.preferences.formatter.JavaPreview.doUpdate(JavaPreview.java:212)
	at org.eclipse.jdt.internal.ui.preferences.formatter.JavaPreview.lambda$0(JavaPreview.java:169)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4320)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3943)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
	at org.eclipse.jface.window.Window.open(Window.java:799)
	at org.eclipse.ui.internal.handlers.ShowPreferencePageHandler.execute(ShowPreferencePageHandler.java:58)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:317)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:251)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:195)
	at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.runCommand(CocoaUIHandler.java:421)
	at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.access$0(CocoaUIHandler.java:407)
	at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler$1.widgetSelected(CocoaUIHandler.java:281)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4579)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1547)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1532)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1325)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4365)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3941)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

I've added the following to my eclipse.ini to no avail:

--illegal-access=deny
--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

Activity

  1. scharf commented on Apr 27, 2022

    @scharf

    I have the same Problem...

  2. MrThaler commented on May 2, 2022

    @MrThaler

    It should not be --add-exports EXPORT, but instead --add-exports=EXPORT.
    When I correctly use the = sign there does not seem to be an error anymore:

    --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
    
  3. loosebazooka commented on May 19, 2022

    @loosebazooka

    It looks like the root of this issue is:

    import com.sun.tools.javac.parser.Tokens.TokenKind;
    not being exported by java17.

  4. rbolkameh commented on Jul 27, 2022

    @rbolkameh

    I have the same problem with:
    v1.15.0 (but the Eclipse plugin's jar is called google-java-format-eclipse-plugin-1.13.0.jar)
    Version: 2022-06 (4.24.0)
    Build id: 20220609-1112

    To be able to use the plugin in Eclipse I downgraded to tag v1.11.0 [https://github.com/google/google-java-format/releases/tag/v1.11.0], and make sure in eclipse.ini you are pointing to java 11.

  5. aczire commented on Jan 10, 2023

    @aczire

    Same here, with v1.15.0. Any updates?

    Workaround.
    v1.13.0 seems to load fine.

    Environment (default eclipse install; using the new installer)

    eclipse.buildId=4.26.0.20221201-1200
    java.version=17.0.5
    java.vendor=Eclipse Adoptium
    BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
    Framework arguments: -product org.eclipse.epp.package.jee.product
    Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

  6. PhilippWendler commented on Jan 20, 2023

    @PhilippWendler

    For me as well, version 1.13.0 works but 1.15.0 does not on Eclipse with Java 17 even though I have the flags in eclipse.ini. I even have more flags than what should be necessary:

    --add-opens=java.base/java.lang=ALL-UNNAMED
    --add-opens=java.base/java.util=ALL-UNNAMED
    --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
    --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
    --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
    --add-exports=jdk.compiler/com.sun.tools.javac.code=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
    

    Note that testing this is a little bit tricky due to #744 (comment).

  7. Jangor67 commented on Mar 27, 2023

    @Jangor67

    Same Issue with IntelliJ

    I only have the following VM options:

    --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.code=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

    Clearly the above does not prevent the issue. I will now try the list as from @PhillippWendler to see if that improves things...

    Version info:

    IntelliJ IDEA 2022.3.3 RC (Ultimate Edition)
    Build #IU-223.8836.35, built on March 8, 2023
    Licensed to ING Hubs B.V. Amsterdam – Sucursala București

    Runtime version: 17.0.6+1-b653.34 aarch64
    VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
    macOS 13.2
    Metal Rendering is ON
    Non-Bundled Plugins:
    google-java-format (1.15.0.0)

    Stacktrace of course a bit different:

    java.lang.IllegalAccessError: class com.google.googlejavaformat.java.JavaInput (in unnamed module @0x358c2813) 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 @0x358c2813
    	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:59)
    	at com.intellij.codeInsight.completion.JavaChainLookupElement.handleInsert(JavaChainLookupElement.java:126)
    	at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$insertItem$15(CodeCompletionHandlerBase.java:704)
    	at com.intellij.util.indexing.FileBasedIndex.lambda$ignoreDumbMode$0(FileBasedIndex.java:202)
    	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:112)
    	at com.intellij.util.indexing.FileBasedIndexEx.ignoreDumbMode(FileBasedIndexEx.java:727)
    	at com.intellij.util.indexing.FileBasedIndex.ignoreDumbMode(FileBasedIndex.java:201)
    	at com.intellij.util.indexing.DumbModeAccessType.ignoreDumbMode(DumbModeAccessType.java:43)
    	at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$insertItem$16(CodeCompletionHandlerBase.java:703)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:980)
    	at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.insertItem(CodeCompletionHandlerBase.java:687)
    	at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$doInsertItem$13(CodeCompletionHandlerBase.java:612)
    	at com.intellij.openapi.editor.impl.CaretModelImpl.lambda$runForEachCaret$3(CaretModelImpl.java:310)
    	at com.intellij.openapi.editor.impl.CaretModelImpl.doWithCaretMerging(CaretModelImpl.java:419)
    	at com.intellij.openapi.editor.impl.CaretModelImpl.runForEachCaret(CaretModelImpl.java:319)
    	at com.intellij.openapi.editor.impl.CaretModelImpl.runForEachCaret(CaretModelImpl.java:296)
    	at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.doInsertItem(CodeCompletionHandlerBase.java:602)
    	at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.insertItemHonorBlockSelection(CodeCompletionHandlerBase.java:562)
    	at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lookupItemSelected(CodeCompletionHandlerBase.java:508)
    	at com.intellij.codeInsight.completion.CompletionProgressIndicator.itemSelected(CompletionProgressIndicator.java:180)
    	at com.intellij.codeInsight.completion.BaseCompletionLookupArranger.itemSelected(BaseCompletionLookupArranger.java:228)
    	at com.intellij.codeInsight.lookup.impl.LookupImpl.fireItemSelected(LookupImpl.java:928)
    	at com.intellij.codeInsight.lookup.impl.LookupImpl.finishLookupInWritableFile(LookupImpl.java:571)
    	at com.intellij.codeInsight.lookup.impl.LookupImpl.lambda$finishLookup$7(LookupImpl.java:529)
    	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:210)
    	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:174)
    	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:164)
    	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:150)
    	at com.intellij.codeInsight.lookup.impl.LookupImpl.finishLookup(LookupImpl.java:529)
    	at com.intellij.codeInsight.lookup.impl.LookupImpl.finishLookup(LookupImpl.java:514)
    	at com.intellij.codeInsight.lookup.impl.actions.ChooseItemAction$Handler.lambda$doExecute$0(ChooseItemAction.java:58)
    	at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:167)
    	at com.intellij.codeInsight.lookup.impl.actions.ChooseItemAction$Handler.doExecute(ChooseItemAction.java:58)
    	at com.intellij.openapi.editor.actionSystem.DynamicEditorActionHandler.doExecute(DynamicEditorActionHandler.java:63)
    	at com.intellij.openapi.editor.actionSystem.EditorActionHandler.lambda$execute$4(EditorActionHandler.java:199)
    	at com.intellij.openapi.editor.actionSystem.EditorActionHandler.doIfEnabled(EditorActionHandler.java:89)
    	at com.intellij.openapi.editor.actionSystem.EditorActionHandler.execute(EditorActionHandler.java:198)
    	at com.intellij.openapi.editor.actionSystem.EditorAction.lambda$actionPerformed$0(EditorAction.java:93)
    	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:219)
    	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:174)
    	at com.intellij.openapi.editor.actionSystem.EditorAction.actionPerformed(EditorAction.java:102)
    	at com.intellij.openapi.editor.actionSystem.EditorAction.actionPerformed(EditorAction.java:77)
    	at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.java:327)
    	at com.intellij.openapi.keymap.impl.ActionProcessor.performAction(ActionProcessor.java:47)
    	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:584)
    	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$doPerformActionInner$9(IdeKeyEventDispatcher.java:706)
    	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
    	at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94)
    	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$doPerformActionInner$10(IdeKeyEventDispatcher.java:706)
    	at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:350)
    	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.doPerformActionInner(IdeKeyEventDispatcher.java:703)
    	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:647)
    	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:595)
    	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.java:478)
    	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:467)
    	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:225)
    	at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:815)
    	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:750)
    	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$5(IdeEventQueue.java:437)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
    	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:436)
    	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
    	at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:615)
    	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:434)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838)
    	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:480)
    	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)
    
  8. PhilippWendler commented on Oct 6, 2023

    @PhilippWendler

    Current versions of the plugin (e.g., 1.18.1) work fine for me in Eclipse with Java 17.

  9. Maxime-ADAGP commented on Oct 20, 2023

    @Maxime-ADAGP

    Current versions of the plugin (e.g., 1.18.1) work fine for me in Eclipse with Java 17.

    Which version of Eclipse are you running? I am still facing the error with the latest version (1.18.1) of the plugin (stack trace copied below).

    Here is my Session data :

    eclipse.buildId=4.29.0.20230907-1200
    java.version=17.0.8.1
    java.vendor=Eclipse Adoptium
    Framework arguments:  -product org.eclipse.epp.package.jee.product
    Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -clean
    
    Click here to see stack trace
    java.lang.IllegalAccessError: class com.google.googlejavaformat.java.JavaInput (in unnamed module @0x4e3db1c6) 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 @0x4e3db1c6
    	at com.google.googlejavaformat.java.JavaInput.buildToks(JavaInput.java:350)
    	at com.google.googlejavaformat.java.JavaInput.buildToks(JavaInput.java:335)
    	at com.google.googlejavaformat.java.JavaInput.<init>(JavaInput.java:277)
    	at com.google.googlejavaformat.java.Formatter.getFormatReplacements(Formatter.java:260)
    	at com.google.googlejavaformat.java.SnippetFormatter.format(SnippetFormatter.java:109)
    	at com.google.googlejavaformat.java.GoogleJavaFormatter.formatInternal(GoogleJavaFormatter.java:87)
    	at com.google.googlejavaformat.java.GoogleJavaFormatter.format(GoogleJavaFormatter.java:39)
    	at org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.reformat(CodeFormatterUtil.java:361)
    	at org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.reformat(CodeFormatterUtil.java:424)
    	at org.eclipse.jdt.internal.corext.fix.CodeFormatFix.createCleanUp(CodeFormatFix.java:76)
    	at org.eclipse.jdt.internal.ui.fix.CodeFormatCleanUp.createFix(CodeFormatCleanUp.java:64)
    	at org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring.calculateChange(CleanUpRefactoring.java:772)
    	at org.eclipse.jdt.internal.corext.fix.CleanUpPostSaveListener.saved(CleanUpPostSaveListener.java:384)
    	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$4.run(CompilationUnitDocumentProvider.java:1618)
    	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.notifyPostSaveListeners(CompilationUnitDocumentProvider.java:1612)
    	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.commitWorkingCopy(CompilationUnitDocumentProvider.java:1396)
    	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$3.execute(CompilationUnitDocumentProvider.java:1471)
    	at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:133)
    	at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:71)
    	at org.eclipse.ui.actions.WorkspaceModifyOperation.lambda$0(WorkspaceModifyOperation.java:110)
    	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2453)
    	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2478)
    	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:131)
    	at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:76)
    	at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:66)
    	at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:461)
    	at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:764)
    	at org.eclipse.ui.texteditor.AbstractTextEditor.performSave(AbstractTextEditor.java:5009)
    	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave(CompilationUnitEditor.java:1267)
    	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave(CompilationUnitEditor.java:1321)
    	at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7185)
    	at org.eclipse.ui.Saveable.doSave(Saveable.java:213)
    	at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:333)
    	at org.eclipse.ui.internal.SaveableHelper.lambda$1(SaveableHelper.java:196)
    	at org.eclipse.ui.internal.SaveableHelper.lambda$3(SaveableHelper.java:271)
    	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:434)
    	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:352)
    	at org.eclipse.ui.internal.WorkbenchWindow.lambda$7(WorkbenchWindow.java:2346)
    	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
    	at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2344)
    	at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:278)
    	at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:260)
    	at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:207)
    	at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:150)
    	at org.eclipse.ui.internal.WorkbenchPage.saveSaveable(WorkbenchPage.java:3825)
    	at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3838)
    	at org.eclipse.ui.internal.handlers.SaveHandler.execute(SaveHandler.java:82)
    	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
    	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
    	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:300)
    	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
    	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
    	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
    	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
    	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:485)
    	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
    	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:308)
    	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:580)
    	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:655)
    	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:439)
    	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:96)
    	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1286)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1065)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1090)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1075)
    	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1117)
    	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1113)
    	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1594)
    	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4866)
    	at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345)
    	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4744)
    	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
    	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5040)
    	at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
    	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3658)
    	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
    	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
    	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
    	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
    	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:645)
    	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
    	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:552)
    	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
    	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
    	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:651)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1459)
    
  10. PhilippWendler commented on Oct 23, 2023

    @PhilippWendler

    Do you have the additional options in eclipse.ini that are discussed above?

  11. Maxime-ADAGP commented on Oct 23, 2023

    @Maxime-ADAGP

    I tried with and without the additional eclipse.ini configured and it still doesn't work. I have a fairly standard Eclipse installation (I have lombok installed, but that's about it).

    As a temporary measure, I imported the configuration provided here.

  12. gohrner commented on Nov 10, 2023

    @gohrner

    Following patch worked for me in Eclipse 2023-09 and Google Code Formatter plugin version 1.18.1:

    --- eclipse.ini.orig    2023-11-10 11:18:04.869314018 +0100
    +++ eclipse.ini 2023-11-10 11:19:54.089686706 +0100
    @@ -27,3 +27,16 @@
     -Declipse.p2.max.threads=10
     -Doomph.update.url=https://download.eclipse.org/oomph/updates/milestone/latest
     -Doomph.redirection.index.redirection=index:/->https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/
    +--add-opens=java.base/java.lang=ALL-UNNAMED
    +--add-opens=java.base/java.util=ALL-UNNAMED
    +--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
    +--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
    +--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
    +--add-exports=jdk.compiler/com.sun.tools.javac.code=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

    I wonder why this wasn't added to the installation instruction already a long time ago? Similar information is contained in the IntelliJ setup instructions (even though there less whitelisting seems to suffice...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions