FAQs

General

CheerpJ is a full Java platform that runs inside modern web browsers. It includes a Java Virtual Machine, Java Runtime Environment, and system virtualisation layer implemented in WebAssembly and JavaScript. CheerpJ enables existing Java applications, libraries, and applets to run unmodified in browsers without requiring a local Java installation or Java plugins.

CheerpJ allows organizations to keep running any legacy Java application that is either impossible or impractical to rewrite or replace. It extends the life of your application with minimal investment, aligns with cloud-first strategies, and removes client-side Java dependencies.

CheerpJ can run:

  • Java Applets
  • Java Web Start applications (JNLP)
  • Stand-alone Java applications (including Swing and AWT)
  • Java libraries

CheerpJ is the only full Java environment for the browser, extensively compatible with Java SE and coming with a full OpenJDK distribution. Compared to alternatives, it does not come with a partial, custom runtime environment, or with limitations on the Java language constructs that can be used.

By using CheerpJ, you will not need to modify your application at all – it will just work on any browser, without a local Java installation, without any preprocessing or recompilation.

You can absolutely use CheerpJ to run any business logic or library in Java, and re-implement the UI of your application using a web-native technology (e.g. React, Angular).

Enterprises, public sector organizations, and software vendors worldwide – including Fortune 500 companies – use CheerpJ to modernise Java-based applications like Oracle Forms, EBS, and internal Swing/AWT tools.

Yes. CheerpJ is used by many organizations worldwide to run Oracle Java-based products, such as Oracle Forms and Oracle EBS, on modern browsers. This includes several Fortune 500 companies as well as local and federal government agencies.

Compatibility

CheerpJ implements the vast majority of standard Java SE APIs used in real-world enterprise applications. It is built on a full OpenJDK distribution and runs Java applications and libraries without requiring source code changes.

Most production Java applications work out of the box, including those using Swing, AWT, multithreading, networking, reflection, custom class loaders, and dynamic constructs.

  • Full support: Java 8, Java 11, Java 17
  • Legacy support: Java 6 and Java 7 on respective LTS versions (available on request)
  • Swing – full support
  • AWT – full support
  • JavaFX – partial support (core UI works; advanced graphics APIs may require adaptation)
  • Oracle Forms (including as part of E-Business Suite)
  • Chrome, Edge, and other Chromium-based browsers
  • Firefox
  • Safari

Yes, CheerpJ runs on any browser, including most mobile browsers. It supports touch-based input methods, virtual keyboards, and interaction with the local mobile operating system.

No. It runs directly on compiled Java bytecode (.jar or .class files), including encrypted and obfuscated code. This means that CheerpJ can be used to run applications that depend on third-party libraries, or to run components for which the source code is not available.

Yes, CheerpJ comes with a full OpenJDK runtime environment, including its full Java Native Interface. Via its JNI, CheerpJ can interact with its native platform, the browser, via JavaScript native methods. These methods can be provided by the developer, but many come as default as part of the CheerpJ runtime.

CheerpJ’s WebAssembly JVM delivers excellent performance with minimal runtime slowdown compared to native (like for like). Startup time varies by application size and deployment model, but is generally slower compared to native due to the need to download the JVM and JRE assets.

CheerpJ is a pure web application, and therefore inherits the Web Security model, leading to a significant improvement in security compared to standard, locally installed Java. CheerpJ:

  • Runs entirely in the browser sandbox
  • Inherits web security model, including Cross-Origin restrictions
  • Removes Java plugin vulnerabilities by eliminating client-side JVM requirements
  • Compatible with zero-trust architectures and secure mobile/thin-client deployments

Deployment & Hosting

CheerpJ is a collection of static JavaScript and WebAssembly assets, as well as OpenJDK artefacts. It can be deployed on any standard HTTP server or CDN. Support for Range Headers and compression (which are widely available) are required.

No. It works with standard web servers and CDNs. Support for compression is strongly recommended but not strictly required.

  • Leaning Technologies’ managed CDN (on request)
  • Customer-managed servers or CDNs
  • Air-gapped environments (self-hosting supported with commercial licences)

Yes. Self-hosting is allowed with any commercial licence or during technical evaluation.

Yes. Hosting on more than one server, including with load balancers and CDNs, is allowed within the scope of one licence.

Yes, you can self-host CheerpJ on an air-gapped environment with any commercial licence.

Licensing & Support

Per-application licencing is standard. Custom licencing models, including per-user, are available for appropriate use cases.

Annual subscription is standard. Multi-year and perpetual licences are also available.

One licence is required for each application where CheerpJ is integrated.

Yes. Per-user licencing can be discussed for appropriate use cases.

Yes. Software updates are included for the duration of the licence (or 4 years for perpetual licences). Standard support is included with enterprise licences.

Yes. Custom support agreements with guaranteed response times are available.

Standard support, bug fixes, and updates are included by default without guaranteed response times. Dedicated support contracts with agreed SLAs can be arranged.

Full technical documentation is available at www.cheerpj.com/docs.

Many customers complete a working Proof of concept in one week.

CheerpJ JNLP Runner

You can find the Documentation for the CheerpJ JNLP Runner here.

The CheerpJ JNLP Runner can be used to run Java Web Start applications provided in a JNLP file. It is based on CheerpJ Core and is designed to run existing, unmodified JWS applications inside the browser, without requiring a local Java Desktop installation.

The CheerpJ JNLP Runner is a browser extension available for Chrome and Edge, as well as other Chromium-based browsers.

CheerpJ Core itself supports modern browsers including Chrome/Edge/Chromium, Firefox, and Safari.

CheerpJ Core supports Java 8, Java 11, and Java 17. Legacy support for Java 6 and Java 7 is available on request on the respective LTS versions.

For JNLP Runner deployments, supported Java versions depend on the application and deployment requirements – contact us if you need guidance for your specific JWS stack.

Yes. CheerpJ is used by many organizations worldwide to run Oracle Java-based products, such as Oracle Forms and Oracle EBS, on modern browsers. This includes several Fortune 500 companies as well as local and federal government agencies.

CheerpJ allows you to keep running legacy Java Web Start applications that are either impossible or impractical to replace or upgrade, extending the life of your application with minimal investment.

The CheerpJ JNLP Runner improves security by removing the need for a local Java installation and running the application inside the browser sandbox.

No. The CheerpJ JNLP Runner does not require a local Java installation on the Desktop and does not require server-side integration.

Your application can remain unchanged.

Yes. You can deploy the CheerpJ JNLP Runner to your organisations’ machines using Group Policies (GPOs) on either Chrome or Edge. Instructions are available in the technical documentation.

Yes. We can assist you in self-hosting the CheerpJ JNLP Runner so your organisation does not need access to the Chrome Web Store or the Edge Add-ons store.

A self-hostable version is available for enterprise use cases, including air-gapped environments. Please get in touch with Enterprise Sales if you are interested.

CheerpJ Applet Runner

You can find the Documentation for the CheerpJ Applet Runner here.

The CheerpJ Applet Runner is a browser extension available for Chrome and Edge, as well as other Chromium-based browsers.

CheerpJ Core itself supports modern browsers including Chrome/Edge/Chromium, Firefox, and Safari.

Yes. CheerpJ is used by many organizations worldwide to run Oracle Java-based products, such as Oracle Forms and Oracle EBS, on modern browsers. This includes several Fortune 500 companies as well as local and federal government agencies.

CheerpJ allows you to keep running legacy Java Applets that are either impossible or impractical to replace or upgrade, extending the life of your application with minimal investment.

It improves security by removing the need for a local Java installation and running the applet inside the browser sandbox.

No. The CheerpJ Applet Runner does not require a local Java installation on the Desktop and does not require server-side integration.

Your applet and server can remain unchanged.

Yes. We can assist you in self-hosting the CheerpJ Applet Runner so your organisation does not need access to the Chrome Web Store or the Edge Add-ons store.

A self-hostable version is available for enterprise use cases, including air-gapped environments. Please get in touch with Enterprise Sales if you are interested.