My corporate web application relies on a Java applet to access the user’s file system, and replacing it isn’t an option right now. Given the limitations of modern browsers, what are the possible ways to enable JavaEdge support in Microsoft Edge?
Ah, this is a bit of a tricky one. I’ve worked with legacy systems before, so I know how tough it can be. Java applets are no longer supported in modern browsers, including Microsoft Edge. But there’s a bit of a workaround with Edge’s Internet Explorer (IE) mode, which still lets those old Java applets run.
Here’s how you can enable it:
- Open Edge and type
edge://settings/defaultBrowser
in the address bar and hit Enter. - Under the Internet Explorer compatibility section, toggle on Allow sites to be reloaded in Internet Explorer mode.
- Restart Edge.
- Once Edge is back up, go to your site and click the three-dot menu (top right), then choose Reload in Internet Explorer mode.
This works because IE mode supports the NPAPI plugin architecture that Java applets rely on. However, javaedge still has a shelf life—Microsoft has plans to eventually retire IE mode, so it’s more of a temporary fix. Keep an eye out for updates on that.
Tim’s solution definitely helps for now, but I want to emphasize that relying on IE mode long-term could be a risky move. In my experience, it’s better to look for more javaedge-friendly alternatives. One solid approach is moving away from Java applets entirely and instead using Java Web Start (JWS).
What you’d be doing is turning the Java applet into a standalone application. You’d package it as a .jnlp
file, which your users can launch outside the browser. Here’s a quick guide:
- Convert the applet into a full-fledged Java application.
- Create a
.jnlp
file that points to the necessary JAR files and main class. - Deploy the
.jnlp
file on your web server and let users download and launch it.
This approach works well and doesn’t require any browser plugin support. You won’t face browser restrictions, which is great for long-term sustainability. The only catch is that since Oracle removed Java Web Start from JDK 11+, you’ll need OpenWebStart to make this work.
Great points so far, both Tim and Rima! If the other solutions don’t really fit your needs, you could also go down the path of running a legacy browser in a virtualized environment. I’ve had to resort to this a few times when dealing with old-school systems that couldn’t be updated.
There are a couple of ways to do this:
Option 1: Use an older browser
- Internet Explorer 11 still supports Java applets.
- Or you can run Firefox ESR 52 (the last version with NPAPI support).
Option 2: Virtual Machine (VM)
- Set up a VM with Windows 7 or 10.
- Install an old browser like IE11 or Firefox ESR 52, and make sure you install a Java Runtime Environment (JRE) that supports applets.
This can feel a bit clunky, and it’s not the most user-friendly, but if you absolutely must run javaedge applications that rely on Java applets, this is a good, secure option. The VM isolates security risks, so it keeps your main system safe while you still get the functionality you need.