Skip to content
/ jcef Public

A simple framework for embedding Chromium-based browsers into Java-based applications.

License

Notifications You must be signed in to change notification settings

JetBrains/jcef

Repository files navigation

official JetBrains project

Welcome

This is a fork of java-cef. It's distributed as part of JetBrainsRuntime.

Quick Links

Help

  • Check the issue tracker. Probably the problem is known.
  • Vote the for the opened issues. We track votes and take it into consideration for planning.
  • JetBrains Platform Slack community
  • Check CEF forum. It is a great source of knowledge about cef project.
  • Report a bug at JetBrains youtrack.

Building JCEF

Building on Windows

  1. Get sources.
    git clone https://github.com/JetBrains/jcef.git
    
  2. Install Apache Ant. Make sure that ANT_HOME is set.
  3. Set JAVA_HOME.
  4. Set VS160COMNTOOLS env variable to point onto your Visual Studio 2019 Community installation. E.g.
    VS160COMNTOOLS='C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools'.
    
  5. Install cmake. Set JCEF_CMAKE env variable. E.g.
    `JCEF_CMAKE='C:\cmake-3.27.0-rc2-windows-x86_64'`.
    
  6. Run at <project_root>\jb\tools\windows directory. Replace x86_64 with arm64 if needed.
    cmd /c build.bat all x86_64
    
  7. Check jcef_win_x86_64.tar.gz or jcef_win_arm64.tar.gz file in the project root directory.

Building JetBrainsRuntime with JCEF.

  1. Assume that we are working on x86_64 platform. For x64 or x86_64 has to replaced with arm64 or aarch64.

  2. Prepare the build environment for JetBrainsRuntime(JBR). Next command are run under Cygwin bash installed on this step.

    Note: You may skip NVDA controller client installation, but you'd need to patch mkimages_x64.sh script.

  3. Get JBR sources

    $ git clone https://github.com/JetBrains/JetBrainsRuntime.git
    $ cd JetBrainsRuntime
  4. Switch to the required branch. E.g.

    $ git checkout jbr17
  5. Bring jcef build artifact from the previous steps. Assuming that our platform is x86_64.

    $ mkdir jcef_win_x64
    $ tar -xvzf <jcef_project_root>/jcef_win_x86_64.tar.gz -C ./jcef_win_x64
  6. (Optional). If NVDA Controller Client is not installed, patch mkimages_x64.sh. Remove the following line:

        --with-nvdacontrollerclient=$NVDA_PATH \
    
  7. Set BOOT_JDK env var.

  8. Run:

       $ bash jb/project/tools/windows/scripts/mkimages_x64.sh 1 jcef

    1 - is the build number.

  9. Check output dirs:

    $ ls jbr*
    jbr_jcef-17.0.8.1-windows-x64-b1:
    bin  conf  include  legal  lib  release
    
    jbrsdk_jcef-17.0.8.1-windows-x64-b1:
    bin  conf  include  jmods  legal  lib  release

Building on Linux

  1. Get tools to build jcef apt-get install ant git gcc cmake.
  2. Get tools to build jcef rpc apt-get install bison flex pkg-config.
  3. Get sources
    git clone https://github.com/JetBrains/jcef.git
  4. Set JAVA_HOME.
  5. Run ./jb/tools/linux/build.sh all <x86_64 or arm64> at the project root.
  6. Check jcef_linux_<x86_64 or arm64>.tar.gz file in the project root directory.

Building on Mac

  1. Get sources git clone https://github.com/JetBrains/jcef.git
  2. Set JAVA_HOME.
  3. Run ./jb/tools/mac/build.sh all <x86_64 or arm64> at the project root.
  4. Check jcef_mac_<x86_64 or arm64>.tar.gz file in the project root directory.

Developing with CLion

To be done

Developing with IntelliJ IDEA and running the tests

  1. Open <project_root>/jb/project/java-gradle/build.gradle as project in IntelliJ IDEA.
  2. Edit <project_root>/jb/project/java-gradle/gradle.properties to specify path to the tested JBR+JCEF build. E.g.
    jbr_win = <path to jbr>/jbr_jcef-17.0.8.1-windows-x64-b1
    jbr_mac = <path to jbr>/jbrsdk_jcef-17.0.8.1-osx-aarch64-b1/Contents/Home
    jbr_linux = <path to jbr>/jbr
    
  3. Reload the gradle project.
  4. Navigate a test in <project_root>/java_tests/tests/junittests and run.

Out of process CEF

See remote/README.md.

About

A simple framework for embedding Chromium-based browsers into Java-based applications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published