Java Web Start (JWS) je technologie, která slouží k jednoduché distribuci Java aplikací z internetu. Nabízí jednoduchou distribuci a následné spouštění aplikací jedním kliknutím přímo z webových stránek. Dále zaručuje, že uživatel bude mít vždy spuštěnou poslední verzi aplikace.[1] (bez dalších problémů s instalací, či s aktualizacemi programu)
Sun představil verzi 1.0 v březnu 2003.[2] JWS je součástí JAVA SE již od verze 1.4 a nyní je automaticky instalována s Java Runtime Environment (JRE). S podobným nápadem přichází i Microsoft .NET ClickOnce framework. Od verze java 9 je označena jako deprecated a od verze 11 odstraněna z JRE.
Aplikace, která má být spuštěna přes Java Web Start, musí být uložena do podepsaného jar archivu. O stáhnutí, instalaci, případnou aktualizaci a samotné spuštění se stará soubor jnlp ve formátu XML.
Soubor .jnlp obsahuje základní informace o dané aplikaci, cestu k jar souboru a například povolení spouštění offline.
<?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" codebase="file:///d:/java/test" href="hello-world.jnlp"> <information> <title>hello</title> <vendor>world</vendor> <homepage href="http://www.sun.cz"/> <description>První program JWS</description> <icon href="hello-worl.gif"/> <offline-allowed/> </information> <security> <j2ee–application–client–permissions/> </security> <resources> <j2se version="1.4"/> <jar href="hello-world.jar"/> </resources> <application–desc main–class="hlavniTrida"/> <jnlp/>
<a href="hello-world.jnlp">Spustit Java Web Start aplikaci Hello world</a>
Hlavní výhodou JWS je, že spuštěná aplikace není omezena „sandboxem“, což na druhou stranu může být bezpečnostním rizikem. Vývojáři dále nemusí tolik brát ohledy na různé verze Javy v mnoha různých prohlížečích.
Java (jazyk) • Micro Edition • Standard Edition • Enterprise Edition • Java Card • JavaFX • JDK • Android SDK
Java Virtual Machine • HotSpot • OpenJDK • Da Vinci Machine • Squawk • Maxine VM • JRockit • Kaffe • Apache Harmony
BeanShell • Clojure • Groovy • Java Tcl • JRuby • Jython • Rhino • Nashorn • Scala • Fantom • Kotlin
Applety • Servlety • MIDlety • JSP • Web Start (JNLP) • .class • .jar
AWT • SWT • Swing • JUnit • GNU Classpath • XMLBeans
Hibernate • TopLink • Apache Wicket • Apache Struts • Spring Framework • JBoss Application Server • Facelets • GlassFish
JavaOne • Java Community Process • Sun Microsystems