Modern Alternatives to Java Web Start

Java Web Start was used to launch Java applications from JNLP files. Oracle deprecated Java deployment technologies in JDK 9 and removed Java Web Start, the Java plug-in and the javaws tool from JDK 11. Organisations that still depend on JNLP applications therefore need another way to launch and manage them.The main options are to retain a Java 8 desktop environment, use a replacement desktop launcher such as OpenWebStart, deliver the existing application through the browser, or rewrite it. The right choice depends on who controls the application, how it is deployed and whether local Java installations remain acceptable.

What Java Web Start did

Java Web Start allowed a browser or desktop link to download a JNLP file and pass it to a local Java Web Start client. The client read the application configuration, downloaded the required JAR files and launched the application using a locally installed Java Runtime Environment.

A JNLP file is the application descriptor. Java Web Start was the launcher. Removing Java Web Start did not remove the JNLP files or the applications they describe, but it removed the standard Oracle launcher from current JDK releases.

Available replacement options

Approach What changes Best fit
Retain Java 8 and Java Web Start Keep the existing launcher and local Java runtime. Controlled environments that can continue managing Java 8 endpoints.
Use OpenWebStart Replace the launcher, usually with an OpenJDK runtime on each endpoint. Organisations that accept desktop deployment and endpoint Java management.
Run the application in the browser Use CheerpJ to execute the Java application inside a modern browser. Teams seeking to remove the local Java requirement and retain the existing application.
Rewrite or replace the application Rebuild the application for a different platform or adopt another product. Applications that need broader functional or architectural change.

Retain Java 8 and Java Web Start

An organisation may keep its existing Java 8 environment if the application works and the endpoint configuration remains supportable. This option causes the least immediate change, but it preserves the dependency on a local Java installation and an older deployment stack.

  • Users continue to launch the application through the existing JNLP workflow.
  • IT teams must manage the Java runtime, application configuration and updates on each endpoint.
  • Licensing and support requirements depend on the Java distribution and the organisation’s use case.

Use OpenJDK with OpenWebStart

OpenWebStart provides an open source implementation of the Java Web Start protocol. It can launch JNLP applications using an OpenJDK-based runtime, which makes it a practical replacement when an organisation wants to preserve a desktop launcher.

This route changes the launcher but does not remove desktop Java management. The application still runs outside the browser, and the organisation must deploy, configure and maintain the launcher and runtime on user devices.

For a detailed comparison, read OpenWebStart Alternative: CheerpJ vs OpenWebStart for Java Web Start.

Run JNLP applications in the browser

CheerpJ provides a browser-based Java Virtual Machine and OpenJDK runtime. It can execute existing Java applications inside modern browsers without requiring Java Web Start or a local Java installation on the user’s device.

The existing JNLP file still describes the application and its resources. CheerpJ loads the required Java content and runs it within the browser environment. The application can therefore retain its Java code while its delivery model changes.

There are two main deployment routes with CheerpJ.

  • CheerpJ JNLP Runner is a Chrome and Edge browser extension that intercepts JNLP downloads and opens the application in a browser tab. It is intended for applications that users already reach through a website, including third-party systems where source-code access may be limited.
  • CheerpJ Core is integrated into the application delivery page. It gives the organisation control over hosting, configuration and the browser experience, and does not require the JNLP Runner extension.

Developers can follow the technical guide to run a JNLP application in the browser. Users who need an extension-based route can use the CheerpJ JNLP Runner.

Rewrite or replace the application

A rewrite may be appropriate when the application also needs major functional, user-interface or architectural changes. It can remove the dependency on the original Java application, but it usually requires the most time, testing and development work.

A rewrite should be evaluated separately from the immediate access problem. If the current application still meets business requirements, browser delivery can provide continued access while the organisation decides whether a longer-term replacement is justified.

How to choose an approach

Start with the application and deployment constraints rather than the launcher alone.

  • If local Java remains acceptable, maintaining Java 8 or using OpenWebStart may require the least change.
  • If the priority is removing local Java installations, browser execution with CheerpJ is the relevant route to evaluate.
  • If you control the application and want an integrated browser deployment, evaluate CheerpJ Core.
  • If users need to open an existing third-party JNLP application, evaluate the CheerpJ JNLP Runner.
  • If the application needs major functional change, compare browser delivery with the cost and risk of a rewrite.

Run a Java Web Start application with CheerpJ

For extension-based access, install the CheerpJ JNLP Runner from the Chrome Web Store or Microsoft Edge Add-ons and use the existing application link to open the JNLP file. Enterprise deployment options can be evaluated for managed browser environments.

For a direct CheerpJ Core integration, identify the application JAR files, main class and codebase information contained in the JNLP file. Add the CheerpJ runtime to an HTML page, configure the application launcher and host the files through a web server. The CheerpJ documentation provides the current code examples and configuration steps.

Frequently asked questions

Is Java Web Start still available

Java Web Start is not included in JDK 11 or later Oracle JDK releases. Organisations with existing JNLP applications need to retain an older deployment environment or use another launcher or runtime.

What is the difference between JNLP and Java Web Start

JNLP is the file format that describes how a Java application should be downloaded and launched. Java Web Start was Oracle’s launcher for those files.

Can a JNLP file run without Java Web Start

Yes. A replacement launcher can process the JNLP file on the desktop, or CheerpJ can use the application information to run the Java application in a modern browser.

Does OpenWebStart remove the need for Java on user devices

OpenWebStart replaces the Java Web Start launcher, but the application still runs through a Java runtime on the endpoint. Runtime selection and deployment must still be managed.

Can CheerpJ run an existing JNLP application without a rewrite

CheerpJ is designed to run existing Java bytecode in the browser. Compatibility should be evaluated against the application’s Java version, libraries, networking, file access and any native dependencies.

Should we use the JNLP Runner or CheerpJ Core

Use the JNLP Runner when users need an extension to open existing JNLP applications through Chrome or Edge. Use CheerpJ Core when you control the deployment and want to integrate browser execution into your own application page.

Next steps

Use the CheerpJ JNLP Runner to evaluate extension-based access, or follow the CheerpJ JNLP deployment guide to test a direct browser integration. Organisations evaluating a managed deployment can request a compatibility review from the CheerpJ team.

More from CheerpJ