KevinnZou / compose-webview-multiplatform

WebView for JetBrains Compose Multiplatform
https://kevinnzou.github.io/compose-webview-multiplatform/
Apache License 2.0
412 stars 48 forks source link

java.lang.IllegalAccessError: class org.cef.browser.platform.CefBrowserWindowPlatform (in unnamed module @0x1b08082e) cannot access class sun.awt.AWTAccessor (in module java.desktop) because module java.desktop does not export sun.awt to unnamed module @0x1b08082e #174

Closed D10NGYANG closed 2 months ago

D10NGYANG commented 2 months ago

Used package: https://cache-redirector.jetbrains.com/intellij-jbr/jbr_jcef-17.0.10-osx-aarch64-b1087.23.tar.gz JCEF(45:37:532): initialized stderr logger, severity=LOGSEVERITY_DEFAULT JCEF_I(45:37:532): CefApp: set state NEW JCEF_V(45:37:533): Fixed args: [--framework-dir-path=/Users/d10ng/project/destop/SerialPortServerDesktop/kcef-bundle/Frameworks/Chromium Embedded Framework.framework, --browser-subprocess-path=/Users/d10ng/project/destop/SerialPortServerDesktop/kcef-bundle/Frameworks/jcef Helper.app/Contents/MacOS/jcef Helper, --main-bundle-path=/Users/d10ng/project/destop/SerialPortServerDesktop/kcef-bundle/Frameworks/jcef Helper.app] JCEF_I(45:37:534): CefApp: set state INITIALIZING JCEF_V(45:37:534): Initialize CefApp on Thread[CefInitialize-thread,6,main] JCEF_V(45:37:675): CefApp: native initialization is finished. JCEF_I(45:37:675): CefApp: set state INITIALIZED JCEF_I(45:37:678): version: JCEF Version = 111.2.1.691.3cc44b679366d3a62c2c30fb2ea2c941cfe08bc6 CEF Version = 111.2.1 Chromium Version = 111.0.5563.64 | settings: browser_subprocess_path=/Users/d10ng/project/destop/SerialPortServerDesktop/kcef-bundle/Frameworks/jcef Helper.app/Contents/MacOS/jcef Helper, windowless_rendering_enabled=true, command_line_args_disabled=false, cache_path=/Users/d10ng/project/destop/SerialPortServerDesktop/cache, persist_session_cookies=false, user_agent=null, user_agent_product=null, locale=null, log_file=null, log_severity=LOGSEVERITY_DEFAULT, javascript_flags=null, resources_dir_path=null, locales_dir_path=null, pack_loading_disabled=false, remote_debugging_port=0, uncaught_exception_stack_size=0, cookieable_schemes_list=null, cookieable_schemes_exclude_defaults=false, no_sandbox=true JCEF_W(45:37:708): failed to retrieve platform window handle java.lang.IllegalAccessError: class org.cef.browser.platform.CefBrowserWindowPlatform (in unnamed module @0x1b08082e) cannot access class sun.awt.AWTAccessor (in module java.desktop) because module java.desktop does not export sun.awt to unnamed module @0x1b08082e at org.cef.browser.platform.CefBrowserWindowPlatform.getWindowHandle(CefBrowserWindowPlatform.java:28) at org.cef.browser.CefBrowserWr.getWindowHandle(CefBrowserWr.java:434) at org.cef.browser.CefBrowserWr$3.addNotify(CefBrowserWr.java:321) at java.desktop/java.awt.Container.addNotify(Container.java:2804) at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4839) at java.desktop/java.awt.Container.addImpl(Container.java:1150) at java.desktop/javax.swing.JLayeredPane.addImpl(JLayeredPane.java:233) at java.desktop/java.awt.Container.add(Container.java:493) at androidx.compose.ui.scene.ComposeSceneMediator.addToLayer(ComposeSceneMediator.desktop.kt:421) at androidx.compose.ui.scene.ComposeSceneMediator.addToComponentLayer(ComposeSceneMediator.desktop.kt:429) at androidx.compose.ui.scene.ComposeContainer.addToComponentLayer(ComposeContainer.desktop.kt:198) at androidx.compose.ui.awt.ComposeWindowPanel.add(ComposeWindowPanel.desktop.kt:144) at androidx.compose.ui.awt.SwingPanel_desktopKt$SwingPanel$4.invoke(SwingPanel.desktop.kt:153) at androidx.compose.ui.awt.SwingPanel_desktopKt$SwingPanel$4.invoke(SwingPanel.desktop.kt:114) at androidx.compose.runtime.DisposableEffectImpl.onRemembered(Effects.kt:82) at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:1295) at androidx.compose.runtime.CompositionImpl.applyChangesInLocked(Composition.kt:984) at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:1005) at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:639) at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:551) at androidx.compose.runtime.BroadcastFrameClock$FrameAwaiter.resume(BroadcastFrameClock.kt:42) at androidx.compose.runtime.BroadcastFrameClock.sendFrame(BroadcastFrameClock.kt:71) at androidx.compose.ui.scene.BaseComposeScene.render(BaseComposeScene.skiko.kt:163) at androidx.compose.ui.scene.ComposeSceneMediator$DesktopSkikoView.onRender(ComposeSceneMediator.desktop.kt:523) at org.jetbrains.skiko.SkiaLayer.update$skiko(SkiaLayer.awt.kt:548) at org.jetbrains.skiko.redrawer.AWTRedrawer.update(AWTRedrawer.kt:54) at org.jetbrains.skiko.redrawer.MetalRedrawer$frameDispatcher$1.invokeSuspend(MetalRedrawer.kt:82) at org.jetbrains.skiko.redrawer.MetalRedrawer$frameDispatcher$1.invoke(MetalRedrawer.kt) at org.jetbrains.skiko.redrawer.MetalRedrawer$frameDispatcher$1.invoke(MetalRedrawer.kt) at org.jetbrains.skiko.FrameDispatcher$job$1.invokeSuspend(FrameDispatcher.kt:33)

KevinnZou commented 2 months ago

@D10NGYANG Did you check ReadMe.desktop.md?

D10NGYANG commented 2 months ago

I got an error using it in a kotlin("jvm") project, but modifying it to kotlin("multiplatform") as per the demo worked!