Giter VIP home page Giter VIP logo

jcefmaven's Introduction

JCEF MAVEN

build-all Maven Central

Independent project to produce maven artifacts for the JCef project

Visit the JCEF repo at bitbucket or github
browser
Embed a complete browser in your Java Apps - supports Java 8+

Supports

linuxamd64, arm64, arm
windowsamd64, arm64, i386
macosxamd64, arm64

Installation

Use with Maven:

<dependency>
    <groupId>me.friwi</groupId>
    <artifactId>jcefmaven</artifactId>
    <version>122.1.10</version>
</dependency>

Use with Gradle:

implementation 'me.friwi:jcefmaven:122.1.10'

How to use

You can find the most recent versions of the artifacts on the releases page of this repository. Alongside each release is also a table with platforms that have been tested. If you have tested a platform and build combination that has not been tested before (using the sample app), make sure to open a new issue to share your findings!

Once you found a version you want to use, include it as a dependency into your project. An example include for Maven and Gradle can be seen above. This will only include the base jcef library and jogl in your project. Natives will be downloaded and extracted on first run. If you want to skip downloading and instead bundle the natives, include the native artifacts in your project dependencies. You can see all of them here. It is recommended to only include one bundle per build though, as each bundle is ~100MB. If you wish to include them, make sure you export one build per platform!

Once you added your dependencies, you need to fire up jcefmaven in your code. No worries, it's not complicated!

//Create a new CefAppBuilder instance
CefAppBuilder builder = new CefAppBuilder();

//Configure the builder instance
builder.setInstallDir(new File("jcef-bundle")); //Default
builder.setProgressHandler(new ConsoleProgressHandler()); //Default
builder.addJcefArgs("--disable-gpu"); //Just an example
builder.getCefSettings().windowless_rendering_enabled = true; //Default - select OSR mode

//Set an app handler. Do not use CefApp.addAppHandler(...), it will break your code on MacOSX!
builder.setAppHandler(new MavenCefAppHandlerAdapter(){...});

//Build a CefApp instance using the configuration above
CefApp app = builder.build();

From there, continue to write your app using jcef as you are used to. You can call builder.build() as many times as you want. It is even thread-safe while initializing (will pause threads and return when initialization was completed).

You can also set your custom download mirrors by using the getMirrors() and setMirrors(Collection<String>) methods. This currently defaults to this repository on github.com and alternatively to the central maven repo on repo.maven.apache.org. Further information can be found in the javadoc.

If you need some code examples to create your first app, have a look at the tests on this repository or at the sample app.

Some additional useful code snippets

If you want to get the current platform as determined by jcefmaven (e.g. to disable osr on win-arm64), you can use:

EnumPlatform platform = EnumPlatform.getCurrentPlatform();
EnumOS os = platform.getOs();

If you want to obtain version information, you can use:

//Provides build version data. Requires build_meta.json to be on classpath.
CefBuildInfo buildInfo = CefBuildInfo.fromClasspath();

//Provides JCEF version data. You can call this after initialization.
CefVersion cefVersion = cefApp.getVersion();

Requirements

  • Java 8 or later

Limitations

  • No OSR mode supported on win-arm64 (no jogamp)
  • CefApp.addAppHandler(...) should not be used. Use builder.setAppHandler(...) instead (requires a CefMavenAppHandlerAdapter)
  • To run on JDK 16 or later:

To use on MacOSX, add the following JVM flags:

--add-opens java.desktop/sun.awt=ALL-UNNAMED
--add-opens java.desktop/sun.lwawt=ALL-UNNAMED
--add-opens java.desktop/sun.lwawt.macosx=ALL-UNNAMED

To use OSR (off-screen render) mode, add these flags for JOGL:

--add-exports java.base/java.lang=ALL-UNNAMED
--add-exports java.desktop/sun.awt=ALL-UNNAMED
--add-exports java.desktop/sun.java2d=ALL-UNNAMED

Reporting bugs

Please only report bugs here that are related to the maven artifacts. Please report bugs in JCEF/CEF to the corresponding repository on Bitbucket.

jcefmaven's People

Contributors

friwidev avatar hax0r31337 avatar jasonsparc avatar jjlauer avatar manriif avatar sebkur avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jcefmaven's Issues

macos Copy(Cmd+c) Paste(Cmd+v) do not work

java.lang.UnsatisfiedLinkError: org.cef.browser.CefFrame_N.N_Copy(J)V
        at org.cef.browser.CefFrame_N.N_Copy(Native Method)
        at org.cef.browser.CefFrame_N.copy(CefFrame_N.java:137)
        at com.github.supermoonie.cef.core.Browser.lambda$hotKey$2(Browser.java:271)
        at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Toolkit.java:2427)
        at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2319)
        at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2318)
        at java.awt.Toolkit.notifyAWTEventListeners(Toolkit.java:2277)
        at java.awt.Component.dispatchEventImpl(Component.java:4785)
        at java.awt.Container.dispatchEventImpl(Container.java:2297)
        at java.awt.Component.dispatchEvent(Component.java:4711)
        at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
        at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:835)
        at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1103)
        at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:974)
        at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:800)
        at java.awt.Component.dispatchEventImpl(Component.java:4760)
        at java.awt.Container.dispatchEventImpl(Container.java:2297)
        at java.awt.Window.dispatchEventImpl(Window.java:2746)
        at java.awt.Component.dispatchEvent(Component.java:4711)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
        at java.awt.EventQueue$4.run(EventQueue.java:733)
        at java.awt.EventQueue$4.run(EventQueue.java:731)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

[BUG] Mac M1 JDK 17 - sample app fails to start

Cloned https://github.com/jcefmaven/jcefsampleapp
Used maven version 95.7.14.11
mvn compile exec:java -Dexec.mainClass=me.friwi.jcefsampleapp.MainFrame

my Java version is:

java 17.0.1 2021-10-19 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)

OS:

System Version:	macOS 12.2.1 (21D62)
Kernel Version:	Darwin 21.3.0
Model Name:	MacBook Pro
Model Identifier:	MacBookPro18,1
Chip:	Apple M1 Pro

Error:

initialize on Thread[AWT-EventQueue-0,6,me.friwi.jcefsampleapp.MainFrame] with library path /Users/peter/dev/ycode/jcefsampleapp/jcef-bundle
[WARNING] 
java.lang.IllegalAccessError: class org.cef.browser.mac.CefBrowserWindowMac (in unnamed module @0x7a75d5e6) cannot access class sun.awt.AWTAccessor (in module java.desktop) because module java.desktop does not export sun.awt to unnamed module @0x7a75d5e6
    at org.cef.browser.mac.CefBrowserWindowMac.getWindowHandle (CefBrowserWindowMac.java:27)
    at org.cef.browser.CefBrowserWr.getWindowHandle (CefBrowserWr.java:337)
    at org.cef.browser.CefBrowserWr.access$600 (CefBrowserWr.java:49)
    at org.cef.browser.CefBrowserWr$3.addNotify (CefBrowserWr.java:232)
    at java.awt.Container.addNotify (Container.java:2804)
    at javax.swing.JComponent.addNotify (JComponent.java:4839)
    at java.awt.Container.addNotify (Container.java:2804)
    at javax.swing.JComponent.addNotify (JComponent.java:4839)
    at java.awt.Container.addNotify (Container.java:2804)
    at javax.swing.JComponent.addNotify (JComponent.java:4839)
    at javax.swing.JRootPane.addNotify (JRootPane.java:729)
    at java.awt.Container.addNotify (Container.java:2804)
    at java.awt.Window.addNotify (Window.java:791)
    at java.awt.Frame.addNotify (Frame.java:495)
    at java.awt.Window.pack (Window.java:829)
    at me.friwi.jcefsampleapp.MainFrame.<init> (MainFrame.java:173)
    at me.friwi.jcefsampleapp.MainFrame.main (MainFrame.java:197)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:254)
    at java.lang.Thread.run (Thread.java:833)

Utilizing JCEF as a layer to render UI for games on top of OpenGL/Vulkan

Hey there, this is more of a question/discussion rather than an issue.

I'm looking to try and implement UI's for games written in HTML/CSS/JS using CEF. Currently, I'm working with Java and OpenGL but also Vulkan coming in the near future. Looking at JCEF it seems to be built using Java's AWT framework and JFrames. Is there a nice way to still utilize this and write an OpenGL renderer for it?

[TR] For 95.7.14.4

Tag
95.7.14.4

OS (linux/windows/macosx)
linux

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
"Manjaro Linux" (5.15.16-1-MANJARO)

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
N

Did you test with the official sample app? (Y/N)
Y

Additional information
First start of the clean sample app is working. If I start the app a second time it crashes with

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

Full stack trace:

Jan 26, 2022 5:43:05 PM me.friwi.jcefmaven.impl.progress.ConsoleProgressHandler handleProgress
INFO: LOCATING |> In progress...
Jan 26, 2022 5:43:05 PM me.friwi.jcefmaven.impl.progress.ConsoleProgressHandler handleProgress
INFO: INITIALIZING |> In progress...
Jan 26, 2022 5:43:05 PM me.friwi.jcefmaven.impl.progress.ConsoleProgressHandler handleProgress
INFO: INITIALIZED |> In progress...
initialize on Thread[AWT-EventQueue-0,6,main] with library path /home/mdrees/IdeaProjects/jcefsampleapp/jcef-bundle

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

If i delete the jcef-bundle folder, it will run again one time.
Tested with Oracle OpenJDK 17.0.2, Liberica JDK 17.0.1 and Coretto 11.0.13

Add support for incomplete builds from jcefbuilds

In the latest release from the jcefbuilds repository, no linux and osx archives were provided, causing the build process to fail.

Proposed solution: Use binaries from previous version when the current version doesn't supply any.

[Help] How to implement select folder in jcef ?

Hi, I am using jcef to build by app, I need to get a directory through the Select Folder dialog.
The Cefbrowser has runFileDialog method, but not found runDirectoryDialog ?
How to implement this function ?

[TR] For 95.7.14.2

Test report generated by JCefSampleApp
Tag
95.7.14.2

OS (linux/windows/macosx)
macosx

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Mac OS X 10.15.7 (10.15.7)

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[TR] Test report

Please follow the format strictly and do not modify the template. Please always test with the official sample app here (you will need to download the version using the maven artifact you want to test). You can add your own text under Additional information. In case the build was not working, please consider adding the console output, screenshots and steps to reproduce.

Tag
v1.0.0+jcef-XXXXXXX+cef-...

OS (linux/windows/macosx)
linux

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Ubuntu 20.04

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[BUG] PAT deletes itself

Describe the bug
The PAT used to download the releases from Github instead of Sonatype (mirror) deletes itself. This may be caused by GitHub locating the token in this repository (even though it is encoded) or by the download quota. This is not immediatly a problem, but a download from GitHub would be preferable.

To Reproduce
Start sample app, experience 401 and download from Sonatype instead of GitHub.

Expected behavior
Download from GitHub not failing.

Environment (please complete the following information):

  • OS: Any
  • Architecture: Any
  • Version: Any (95.7.14.5 and lower, any further version until fixed)

Proposed solution
Upload artifacts additionally to github releases (apart from packages) and download from there in the future.

[BUG] Native library do not contain software renderer

Description

Browser panel doesn't render anything if chromium switches to software rendering(SwANGLE). This happens mostly if the application is started in some kind of Terminal Server / Citrix environment missing GPU acceleration or if the GPU drivers are a bit older.

I did some research and found out that jcefmaven native artifacts are missing the files vk_swiftshader.dll, vk_swiftshader_icd.json and vulkan-1.dll (or their Mac/Linux equivalents) which are mandatory for software rendering. Re-adding them fixes this issue for me.

Is there a special reason why the official CEF packages contains these files but jcefmaven does not?
(https://cef-builds.spotifycdn.com/cef_binary_105.3.36+g88e0038+chromium-105.0.5195.102_windows64.tar.bz2 vs. https://github.com/jcefmaven/jcefmaven/releases/download/105.3.36/jcef-natives-windows-amd64-jcef-0cdd84c+cef-105.3.36+g88e0038+chromium-105.0.5195.102.jar)

To Reproduce

I can reproduce this behaviour by forcing vulkan software or hardware renderer with the startup flags: "--use-gl=angle --use-angle=swiftshader" or "--use-gl=angle --use-angle=vulkan" on my AMD GPU, OSR is disabled. Just opening google.de in a simple JFrame.

See also https://chromium.googlesource.com/chromium/src/+/6b68d1e9b4fec5a7ded58c4ba0fd08078c740c70/docs/gpu/swiftshader.md

Environment

  • OS: Windows
  • Architecture: amd64
  • Version: JCEF with at least Chromium 100 onwards

flash player

is there way to use flashplayer by using pep-flash inside this version?

[TR] For 95.7.14

Test report generated by JCefSampleApp
Tag
95.7.14

OS (linux/windows/macosx)
windows

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Windows 10 10.0

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[TR] For 95.7.14.2

Test report generated by JCefSampleApp
Tag
95.7.14.2

OS (linux/windows/macosx)
linux

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Ubuntu 21.10 (5.13.0-22-generic)

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[BUG] Browser content is blank when sampleapp run on MacOS with JDK 1.8.0_181/JDK 1.8.0_202

Describe the bug
Browser content is blank when sampleapp run on MacOS with JDK 1.8.0_181/JDK 1.8.0_202

To Reproduce
Steps to reproduce the behavior:

  1. Git clone https://github.com/jcefmaven/jcefsampleapp
  2. Import jcefsampleapp as maven project into IntelliJ IDEA 2019.2.3 (Ultimate Edition)
  3. Set project SDK: Oracle JDK 1.8.0_181
  4. Run MainFrame
  5. JCEF downloaded, extracted and initialized. Jframe display like this:

image

  1. Set project SDK: Oracle JDK 1.8.0_202(latest), nothing changed

Page content can be selected/copied/clicked, although there is nothing displayed.
I input some words in search input area and click the search button, address and content changed but still "blank" page.
Copy,paste, back, forward works well.
jcef

Expected behavior
Display correct web page.

Screenshots

Environment (please complete the following information):

  • OS: macosx
  • Architecture: amd64
  • Version: jcef-0aee584+cef-100.0.14+g4e5ba66+chromium-100.0.4896.75

Additional context

  1. When I set SDK to JDK 11.0.11, every things goes well.
  2. Code in jcefsampleapp never changed so it's not a problem about CefMessageRouter.
  3. JVM crashed somtimes: Process finished with exit code 131 (interrupted by signal 3: SIGQUIT)
    Source code

maven repo

Is it possible to do this repo directly into maven?
this where the best and easiest way
because i found a repo of you from Tollo4 or Tello4

thx

[TR] Test report

Please follow the format strictly and do not modify the template. Please always test with the official sample app here (you will need to download the version using the maven artifact you want to test). You can add your own text under Additional information. In case the build was not working, please consider adding the console output, screenshots and steps to reproduce.

Tag
v1.0.0+jcef-XXXXXXX+cef-...

OS (linux/windows/macosx)
linux

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Ubuntu 20.04

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
N

Additional information
Your additional info and additional text here, if you want to tell us something.

Error

Failed to execute goal org.cef:jcef-bundle-maven-plugin:1.0:win64 (default-cli) on project MyProject: The parameters 'relocations' for goal org.cef:jcef-bundle-maven-plugin:1.0:win64 are missing or invalid

[ERROR] Failed to execute goal org.cef:jcef-bundle-maven-plugin:1.0:win64 (default-cli) on project MyProject: The parameters 'relocations' for goal org.cef:jcef-bundle-maven-plugin:1.0:win64 are missing or invalid -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.cef:jcef-bundle-maven-plugin:1.0:win64 (default-cli) on project MyProject: The parameters 'relocations' for goal org.cef:jcef-bundle-maven-plugin:1.0:win64 are missing or invalid
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
Caused by: org.apache.maven.plugin.PluginParameterException: The parameters 'relocations' for goal org.cef:jcef-bundle-maven-plugin:1.0:win64 are missing or invalid
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields (DefaultMavenPluginManager.java:644)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo (DefaultMavenPluginManager.java:597)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:124)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
at org.codehaus.classworlds.Launcher.main (Launcher.java:47)

[TR] For 95.7.14.1

Test report generated by JCefSampleApp
Tag
95.7.14.1

OS (linux/windows/macosx)
windows

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Windows 10 10.0

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[BUG] Running on MacOSX 10.15+ requires signing and notarization of bundled binaries

Describe the bug
The sample does start and crashes right away.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://github.com/jcefmaven/jcefsampleapp
  2. Ccheck it out
  3. compile against latest versions from 7th janurary 2022
  4. See error

Expected behavior
Startup the sample

Screenshots
initialize on Thread[AWT-EventQueue-0,6,main] with library path /Users/matthias/dev/temp/jcefsampleapp/jcef-bundle
[0126/165829.728683:ERROR:gpu_process_host.cc(973)] GPU process launch failed: error_code=1003
[0126/165829.729137:WARNING:gpu_process_host.cc(1292)] The GPU process has crashed 1 time(s)
[0126/165829.732963:ERROR:gpu_process_host.cc(973)] GPU process launch failed: error_code=1003
[0126/165829.733022:WARNING:gpu_process_host.cc(1292)] The GPU process has crashed 2 time(s)
[0126/165829.736402:ERROR:gpu_process_host.cc(973)] GPU process launch failed: error_code=1003
[0126/165829.736468:WARNING:gpu_process_host.cc(1292)] The GPU process has crashed 3 time(s)
[0126/165829.773849:ERROR:gpu_process_host.cc(973)] GPU process launch failed: error_code=1003
[0126/165829.773923:WARNING:gpu_process_host.cc(1292)] The GPU process has crashed 4 time(s)
[0126/165829.777640:ERROR:gpu_process_host.cc(973)] GPU process launch failed: error_code=1003
[0126/165829.777722:WARNING:gpu_process_host.cc(1292)] The GPU process has crashed 5 time(s)
[0126/165829.781035:ERROR:gpu_process_host.cc(973)] GPU process launch failed: error_code=1003
[0126/165829.781093:WARNING:gpu_process_host.cc(1292)] The GPU process has crashed 6 time(s)
[0126/165829.810352:ERROR:gpu_process_host.cc(973)] GPU process launch failed: error_code=1003
[0126/165829.810412:WARNING:gpu_process_host.cc(1292)] The GPU process has crashed 7 time(s)
[0126/165829.813863:ERROR:gpu_process_host.cc(973)] GPU process launch failed: error_code=1003
[0126/165829.813943:WARNING:gpu_process_host.cc(1292)] The GPU process has crashed 8 time(s)
[0126/165829.817894:ERROR:gpu_process_host.cc(973)] GPU process launch failed: error_code=1003
[0126/165829.817971:WARNING:gpu_process_host.cc(1292)] The GPU process has crashed 9 time(s)
[0126/165829.818002:FATAL:gpu_data_manager_impl_private.cc(417)] GPU process isn't usable. Goodbye.

Environment (please complete the following information):

  • OS: MacOSX 11.6.1 till 12.1 tested
  • Architecture: both x64
  • Version 95.7.14.4

Additional context

Source code
https://github.com/jcefmaven/jcefsampleapp

[TR] For 95.7.14

Test report generated by JCefSampleApp
Tag
95.7.14

OS (linux/windows/macosx)
linux

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Ubuntu 21.10 (5.13.0-22-generic)

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[ENH] Can we use a more predicatable versioninig scheme?

Is your feature request related to a problem? Please describe.
The current versioning scheme used for the maven project is a bit unwieldy and can be difficult to comprehend for anyone not familiar with the versioning scheme used by the cef team.

Describe the solution you'd like
I believe a more predictable versioning scheme could be very useful for developers looking to make use of this project. Something that follows the semantic versioning format would be more predictable to developers.

i.e. 95.7.14 vs v1.0.0+jcef-544024e+cef-95.7.14+g9f72f35+chromium-95.0.4638.69

Describe alternatives you've considered
An alternative may be to directly use the chromium version, which in the above case would be:
95.0.4638.69 vs v1.0.0+jcef-544024e+cef-95.7.14+g9f72f35+chromium-95.0.4638.69

I mean it's still better than the current format, but now we are tracking the chromium version rather than the cef version.

Additional context
None

[BUG] Dependencies as currently declared bring in JUnit for production classpath

Describe the bug
I tried adding jcefmaven to my dependencies and found that I now have junit on the production classpath.

To Reproduce
Steps to reproduce the behavior:

  1. Make a new Gradle project
  2. Add implementation("me.friwi:jcefmaven:105.3.36.1")
  3. Build the project and you will see junit being fetched.

Expected behavior
JUnit should only be on the classpath for running tests.

Environment (please complete the following information):

  • OS: Windows (but probably irrelevant)
  • Architecture: amd64 (but probably irrelevant)
  • Version: 105.3.36.1

[TR] For 95.7.14.1

Test report generated by JCefSampleApp
Tag
95.7.14.1

OS (linux/windows/macosx)
macosx

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Mac OS X 10.15.7 (10.15.7)

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

cookie

I'm very sorry to disturb you again. I don't have your other contact information, so I can only ask you here. If I disturb you, I'm sorry
I tried the method you suggested, but I found that the website I visited sometimes put the value of the cookie in the URL or the request parameter, which must require the cookie support of the browser. Is there any other way to make a page have an independent cookie manager or an independent cookie address? I have not found an effective solution in the forum

Exception when starting on Ubuntu 20.04

initialize on Thread[AWT-EventQueue-0,6,main] with library path /home/merlin/StreamRaidersBot/cef_bundle/84.3.8+gc8a556f+chromium-84.0.4147.105-linux64
Exception in thread "Thread-2" java.lang.UnsatisfiedLinkError: /tmp/jogamp_0000/file_cache/jln11480057672891235251/jln6780300819869535836/natives/linux-amd64/libnativewindow_awt.so: /usr/lib/jvm/jdk-16.0.1/lib/libjawt.so: version `SUNWprivate_1.1' not found (required by /tmp/jogamp_0000/file_cache/jln11480057672891235251/jln6780300819869535836/natives/linux-amd64/libnativewindow_awt.so)

for windows it is working perfectly fine

[ENH] Add option to change download mirrors/urls

Exception in thread "AWT-EventQueue-0" javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2048)
at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2043)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:2042)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1609)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:308)
at me.friwi.jcefmaven.impl.step.fetch.PackageDownloader.downloadNatives(PackageDownloader.java:56)
at me.friwi.jcefmaven.CefAppBuilder.build(CefAppBuilder.java:192)

[TR] For 95.7.14.1

Test report generated by JCefSampleApp
Tag
95.7.14.1

OS (linux/windows/macosx)
linux

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Ubuntu 21.10 (5.13.0-22-generic)

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[TR] For 95.7.14

Test report generated by JCefSampleApp
Tag
95.7.14

OS (linux/windows/macosx)
macosx

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Mac OS X 10.15.7 (10.15.7)

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[ENH] Include maven/gradle declarations for the native artifacts in the release description.

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like
A spoiler in the release description for the native artifacts.

Describe alternatives you've considered
None.

Additional context
It would be handy if these artifact/group ids were readily available for those of us who bundle our natives rather than have them get fetched at runtime.

[TR] For 95.7.14.2

Test report generated by JCefSampleApp
Tag
95.7.14.2

OS (linux/windows/macosx)
windows

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Windows 10 10.0

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[TR] For 95.7.14.3

Test report generated by JCefSampleApp
Tag
95.7.14.3

OS (linux/windows/macosx)
macosx

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Mac OS X 10.15.7 (10.15.7)

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[TR] For 95.7.14.4

Test report generated by JCefSampleApp
Tag
95.7.14.4

OS (linux/windows/macosx)
macosx

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Mac OS X 10.15.7 (10.15.7)

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

Completely blank screen

I just tried to upgrade from 84.3.8+gc8a556f+chromium-84.0.4147.105-build-17 to the latest version and I got a complete blank screen. This is the case on both MacOS and Windows. It was working fine on Windows perfectly previously.

However, 84.3.8+gc8a556f+chromium-84.0.4147.105-build-17 was not working on MacOS. I tried to add the jcef-bundle-maven-plugin, to no avail (my project uses gradle).

Hope you will be able to help me out!

cookiemanager

Hello, I listened to your suggestion the other day to use cookiemanager, but I passed a cefrequestcontext object to createbrowser, which has a cefrequestcontexthadler object. This object has a method that can get the cookiemanager, and then I used the method I created. However, when I call it, I will not call this custom cookiemanager. What is the possible reason, I'd appreciate it if you could help me with the answer

[TR] For 95.7.14.4

Test report generated by JCefSampleApp
Tag
95.7.14.4

OS (linux/windows/macosx)
linux

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Ubuntu 21.10 (5.13.0-22-generic)

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

How to new a Panel Object on the Brower Component on mac

I want to use swing components on top of browser component
Here is my test code(in MainFrame.java):
Panel p = new Panel();
 p.setBackground(Color.RED);
 getContentPane().add(p);
 getContentPane().add(browser.getUIComponent());
 p.setBounds(0,0,300,300);
 browser.getUIComponent().setBounds(0,0,1200,800); //browser.getUIComponent().setBounds(100,100,1200,800); //mac test
It works on windows system as shown(OpenJDK17)
window_test

but doesn't work on mac(OpenJDK 17 M1),it will always be below the browser component
mac_test

Is there any good way to solve this problem, thank you very much

[TR] Test report

Tag
{mvn_version}

OS (linux/windows/macosx)
macosx

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
macOS 12.3.1 (12.3.1)

Arch (amd64/i386/arm64/arm)
arm64

Report as working? (Y/N)
N

Did you test with the official sample app? (Y/N)
Y

Additional information
run with error :
....
[0530/153434.107048:WARNING:gpu_process_host.cc(1292)] The GPU process has crashed 9 time(s)
[0530/153434.107075:FATAL:gpu_data_manager_impl_private.cc(417)] GPU process isn't usable. Goodbye.

[TR] For 95.7.14.3

Test report generated by JCefSampleApp
Tag
95.7.14.3

OS (linux/windows/macosx)
windows

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Windows 10 10.0

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[TR] For 95.7.14.4

Test report generated by JCefSampleApp
Tag
95.7.14.4

OS (linux/windows/macosx)
windows

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Windows 10 10.0

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[BUG] java.io.IOException: Failed to update xattr!

Describe the bug
The UnquarantineUtil fails, causing several UnsatisfiedLinkErrors.

java.io.IOException: Failed to update xattr!
	at me.friwi.jcefmaven.impl.util.macos.UnquarantineUtil.unquarantine(UnquarantineUtil.java:20)
	at me.friwi.jcefmaven.CefAppBuilder.build(CefAppBuilder.java:222)

To Reproduce
Steps to reproduce the behavior:

  1. Set your CEF bundle location to something like ~/Library/Application Support/MyApp/dependencies/cef_bundle
  2. Build the CefClient, wait for the download to complete.
  3. See error

Expected behavior
I expected the download & extraction to succeed.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • OS: MacOSX
  • Architecture: amd64
  • Version: 95.7.14.3

Additional context
This issue also exists when bundling the natives in the final jar.

Source code
The actual code that handles CEF in the app is here, and here's a generated .app. (I'm so sorry in advanced for the difficulty in building this project)

[TR] For 95.7.14.3

Test report generated by JCefSampleApp
Tag
95.7.14.3

OS (linux/windows/macosx)
linux

Version/Flavor (e.g. Ubuntu 20.04, Windows 10, Big Sur)
Ubuntu 21.10 (5.13.0-22-generic)

Arch (amd64/i386/arm64/arm)
amd64

Report as working? (Y/N)
Y

Did you test with the official sample app? (Y/N)
Y

Additional information
Your additional info and additional text here, if you want to tell us something.

[Help] Compile jcefmaven with custom fork of java-cef

First, thanks for this project - I'm currently switching my application from jxbrowser to java-cef and this project has made the transition much easier.

I have the need to compile custom versions of java-cef as there are several bug fixes which I need to apply to get my own application in production. These bugs have been reported, but of course I cannot expect those changes to propagate through the pipeline in a timeline which meets my needs. I was wondering if you could help with instructions on how to create the necessary packages for the jcefmaven project with my custom fork of java-cef.

[BUG] Bundle not available for MacOSX Intel arch

Tried using latest version 104.4.23 but it does not work on Mac Intel

Tried using OSR mode but facing following error
"message":"GLException","stack_trace":"com.jogamp.opengl.GLException: Profiles [GL4bc, GL3bc, GL2, GLES1] not available on device null\n\tat com.jogamp.opengl.GLProfile.get(GLProfile.java:1060)\n\tat com.jogamp.opengl.GLProfile.get(GLProfile.java:1071)\n\tat com.jogamp.opengl.GLProfile.getMaxFixedFunc(GLProfile.java:824)

Environment (please complete the following information):

  • OS: MacOSX
  • Architecture: intel x 64
  • Version jcef-af53d63+cef-104.4.23+g46ae630+chromium-104.0.5112.102.

Empty jar files

I just wanted to try out the fat-jars, as this would be the most comfortable way to develop and deploy any app written with jcef and I noticed that the jars are mostly empty. Did anything go wrong here?

For example:
https://friwi.me/jcef/maven/org/cef/jcef-main/84.3.8%2Bgc8a556f%2Bchromium-84.0.4147.105-build-17/jcef-main-84.3.8%2Bgc8a556f%2Bchromium-84.0.4147.105-build-17.jar
contains almost next to nothing. In fact there is only one TAG class inside, that seems to be auto generated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.