Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
If a Java Web Start application will not download its JAR files and you cannot see the Java Console, treat these as two separate problems: the download is failing, and the diagnostics are hidden. Enabling logs helps identify the cause; it does not make a broken JAR URL work. First confirm which JNLP launcher is installed—Oracle Java Web Start was removed from Oracle JDK 11 and later—then run the JNLP directly, inspect its resource URLs, and test each URL’s actual response.
1. Confirm that a JNLP launcher is installed
Installing a current JDK does not necessarily install Java Web Start. Oracle deprecated Web Start in Java 9 and removed its deployment stack, including javaws, from Oracle JDK 11 and later. See Oracle’s JDK 11 migration guide and release notes.
On Windows, open Command Prompt and run:
where javaws
javaws -version
On Linux or macOS:
command -v javaws
javaws -version
If the command is not found, check for Oracle Java 8, OpenWebStart, or another JNLP implementation such as IcedTea-Web. A file association may launch OpenWebStart even when its command is not on your PATH. Oracle Java 8 may suit applications specifically certified for it, but it is legacy software: check organizational licensing, security, architecture, and vendor requirements. OpenWebStart is an independent JNLP implementation; its launcher, cache, JVM selection, logs, and certificate settings are separate from Oracle Java Web Start, and compatibility depends on the application.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →2. Capture diagnostics instead of relying on the missing console
Save the JNLP file locally, then launch it from a terminal so errors are not lost when a browser window closes. With a launcher that supports it, try:
javaws -verbose application.jnlp
Command-line options vary by implementation. If this option is unsupported, use that launcher’s logging controls instead.
For OpenWebStart, open OpenWebStart Settings → Logging, enable debug logging and logging to file, reproduce the failure, and inspect the resulting log. OpenWebStart documents logs under <UserHome>/.config/icedtea-web/log; on Windows, use the location shown by the installed application rather than assuming a fixed path. Its FAQ and guide describe configuration and launch options. Oracle Java 8’s console and logging controls vary by update and platform; see Oracle’s Java Web Start deployment material.
Look for a specific resource URL, HTTP status, XML parsing error, certificate or signature rejection, proxy failure, or JVM-selection message. The console is a diagnostic surface, not a download mechanism.
3. Check the JNLP’s resource paths and XML
Open the JNLP in a text editor. Check its codebase, href, every <jar href="...">, any <extension href="...">, and the requested Java version in <j2se>. Relative JAR paths are resolved against the codebase, so a small path or deployment-context change can send the launcher to the wrong location.
Rank #2
<jnlp spec="1.0+" codebase="https://example.com/app/" href="application.jnlp">
<resources>
<j2se version="1.8*"/>
<jar href="lib/application.jar"/>
<jar href="lib/dependency.jar"/>
</resources>
</jnlp>
This example points to https://example.com/app/lib/application.jar and https://example.com/app/lib/dependency.jar. Test the resulting URLs, not just the application home page. A leading slash, missing directory, changed filename, case mismatch on a case-sensitive server, or reverse-proxy path rewrite can break resolution. Also validate XML: for example, query-string ampersands must be written as &, not a bare &. Oracle’s migration guidance notes this XML requirement. If available, validate locally with:
xmllint --noout application.jnlp
4. Test every JAR URL and verify the response is really a JAR
Use the exact URL resolved from the JNLP. A browser or command-line client can reveal a missing file, unexpected redirect, TLS problem, or authentication boundary.
curl -I -L "https://example.com/app/lib/application.jar"
curl -fL -o /tmp/application.jar "https://example.com/app/lib/application.jar"
On Windows, test with PowerShell:
Invoke-WebRequest -Uri "https://example.com/app/lib/application.jar" -Method Head
If HEAD fails, try a GET:
Invoke-WebRequest -Uri "https://example.com/app/lib/application.jar" -OutFile "$env:TEMPapplication.jar"
Check the status, final URL after redirects, content type, and downloaded content. A 200 OK alone is not proof of success: a server may return an HTML login page, proxy notice, or error page instead of the JAR. Where appropriate, inspect a downloaded file with file application.jar and jar tf application.jar; the latter should list archive contents.
If the browser can open the JNLP but the launcher cannot fetch a JAR, compare authentication and proxy behavior. The initial JNLP request may have a browser session cookie that is not available to subsequent JAR requests. Look for redirects to a login page, client-certificate requirements, proxy authentication, or a reverse proxy that strips the application path. Check server and proxy logs at the failure time. OpenWebStart also documents the importance of HTTP HEAD support for resource-cache metadata in its FAQ; test GET too, since servers and intermediaries can handle the methods differently.
5. Check JNLP and JAR server configuration
The JNLP itself should normally be served as application/x-java-jnlp-file, so the operating system or browser can pass it to a Web Start launcher. Oracle’s server setup documentation describes this requirement. For Apache, an example mapping is:
AddType application/x-java-jnlp-file .jnlp
AddType application/java-archive .jar
For Nginx, add mappings in the relevant types block:
types {
application/x-java-jnlp-file jnlp;
application/java-archive jar;
}
After reloading the server, check the headers:
curl -I "https://example.com/app/application.jnlp"
curl -I "https://example.com/app/lib/application.jar"
The JNLP MIME type helps invocation; it does not establish that the JARs are accessible or valid. Verify each resource independently, including status, redirects, authentication, and content. Confirm that files exist on the production server and that any reverse proxy preserves the deployed path.
6. Investigate signatures, certificates, and TLS
If the JAR downloads but is rejected, inspect its signature:
Rank #4
jarsigner -verify -verbose -certs application.jar
jar tf application.jar | grep -E 'META-INF/.*.(SF|RSA|DSA|EC)$'
Repeat for every JAR in the JNLP. Look for an unsigned or modified JAR in a signed application, inconsistent signers, expired signing certificates, an untrusted certificate chain, or a timestamping problem. Legacy JNLP 1.0 documentation says JARs used together must be signed by the same certificate; consult Oracle’s Java Web Start FAQ and account for the launcher and application’s actual security model.
Also distinguish JAR-signing failures from HTTPS certificate failures. A wrong hostname, expired server certificate, incomplete chain, obsolete TLS configuration, or enterprise proxy interception can prevent the resource from being fetched. Prefer renewing or correcting the server certificate chain and consistently signing the application. If a trusted internal certificate must be added to a trust store, obtain it from the organization’s administrator or vendor and use the trust settings for the launcher and JVM actually in use. Do not disable signature or certificate checks as a workaround; that can allow tampered code to run.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.7. Clear the right launcher’s cache
A stale or partial cached JNLP or JAR can survive a server deployment change. After saving the JNLP and collecting logs, use the cache controls in the launcher you identified. For Oracle Java 8, clear the downloaded-application cache through the Java Control Panel or Web Start Application Manager; exact labels vary by platform and update. Oracle describes Web Start cache management in its Web Start readme. For OpenWebStart, use its application manager or settings interface to remove the affected application or cache entries.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Cache clearing may remove partial downloads or stale resource metadata. It will not fix a 404, an incorrect codebase, a login redirect, an invalid signature, an untrusted certificate, or an incompatible Java runtime. Avoid deleting arbitrary Java directories before confirming which launcher owns the cache.
Best Value
8. Confirm the required Java version and architecture
Read the JNLP’s <j2se version="..."> requirement and check vendor documentation. The application may need Java 8 rather than a newer runtime, a 32-bit JVM for native libraries, JavaFX or another component, or a specific vendor build. Installing the newest Java is not a universal fix—and Oracle JDK 11 and later do not include Oracle Java Web Start.
OpenWebStart’s FAQ documents support for LTS runtimes including Java 8, 11, 17, and 21, but that does not guarantee a particular application works on each one. Its JVM Manager can help select or manage runtimes; verify application compatibility and any 32-bit or vendor-specific requirements. Keep legacy runtimes restricted to trusted applications and a controlled environment.
Quick symptom-to-test guide
| Symptom | First checks |
|---|---|
| The JNLP does not launch at all | Confirm a JNLP launcher and file association; check the JNLP MIME type and XML validity. |
| The log says a JAR was not found | Resolve its URL from codebase, then check status, filename case, deployment path, and proxy rewriting. |
| A resource could not be downloaded | Test redirects, proxy/authentication, TLS and certificate chain; compare HEAD and GET. |
| The JAR downloads but the app fails | Verify signatures, requested runtime, native-library architecture, extension JNLPs, and dependencies. |
| No console appears or it closes quickly | Launch the saved JNLP from a terminal or enable the implementation’s debug and file logging. |
When a local fix is not enough
Escalate to the application vendor or system administrator when the server returns the wrong resource, authentication is tied to a browser session, signing keys are unavailable, or the application requires an unsupported Oracle-specific behavior. If the app depends on an obsolete runtime or certificates that cannot be renewed, isolate it and plan a supported replacement rather than weakening security controls. For a business-critical JNLP deployment, OpenWebStart’s community distribution may be sufficient for individual use; organizations needing guaranteed assistance can assess its paid support options and confirm current terms directly with OpenWebStart. Longer term, application owners should consider migration to a maintained desktop or web deployment model.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

