JNLP
From Planet JFX
JNLP (Java Network Launch Protocol) is an XML-based protocol that can be used to deploy Java and JavaFX applications on the Internet.
Here is the JNLP file to deploy the JavaFXPad (http://download.java.net/general/openjfx/demos/javafxpad.jnlp):
<?xml version="1.0" encoding="utf-8"?>
<jnlp
spec="1.5+"
codebase="http://download.java.net/general/openjfx/demos"
href="javafxpad.jnlp">
<information>
<title>JavaFX Demos:JavaFX Pad</title>
<vendor>Sun Microsystems</vendor>
<offline-allowed />
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.5+" href="http://java.sun.com/products/autodl/j2se"
java-vm-args="-Xss1M -Xmx256M"
>
</j2se>
<jar href="javafxrt.jar" main="true"/>
<jar href="Filters.jar"/>
<jar href="swing-layout.jar"/>
<jar href="javafxpad.jar"/>
</resources>
<application-desc main-class="net.java.javafx.FXShell">
<argument>javafxpad.Main</argument>
</application-desc>
</jnlp>
Contents |
[edit] Hello Web Start FX example (Compiler)
[edit] Requirements
- Java 5+ JDK
-
dist/lib/javafxrt.jaranddist/lib/javafxgui.jarfrom the JavaFX Script Compiler
[edit] Compile Hello Web Start JFX
Filename: hellowebstart.fx
package hellowebstart;
import javafx.gui.*;
import java.lang.System;
Frame {
closeAction: function(): Void {System.exit(0);}
background : Color.WHITE;
title : 'Hello Web Start JFX!'
visible: true
content: Label{
text: 'Hello Web Start JFX!'
font: Font{size: 32}
}// Label
}// Frame
webstartcompiler/hellowebstart$ javafxc -target 1.5 hellowebstart.fx
[edit] Create hellowebstart.jar
webstartcompiler/hellowebstart$ cd ..
webstartcompiler$ jar cvf hellowebstart.jar hellowebstart/*.class
[edit] Create hellowebstart.jnlp
Filename: hellowebstart.jnlp
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.5+"
codebase="http://www.example.com/webstartcompiler/"
href="hellowebstart.jnlp">
<information>
<title>Hello Web Start JFX!</title>
<vendor>John Doe</vendor>
<homepage href="http://www.example.com/webstartcompiler/"/>
<description>Java Web Start example for the JavaFX Script Compiler.</description>
<offline-allowed/>
</information>
<resources>
<j2se version="1.5+" href="http://java.sun.com/products/autodl/j2se">
</j2se>
<jar href="javafxrt.jar" main="false"/>
<jar href="javafxgui.jar" main="false"/>
<jar href="hellowebstart.jar" main="true"/>
</resources>
<application-desc main-class="hellowebstart.hellowebstart">
</application-desc>
</jnlp>
[edit] Set link to hellowebstart.jnlp
Filename: index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hello Web Start JFX!</title>
</head>
<body>
<h1>Hello Web Start JFX!</h1>
<p><a href="hellowebstart.jnlp">Java Web Start: Hello Web Start JFX!</a></p>
</body>
</html>
[edit] Webserver: Set MIME type for .jnlp
Apache: http.conf or .htaccess.
AddType application/x-java-jnlp-file JNLP
[edit] Copy files on webserver
Copy files on the webserver with FTP or in this case with cp for server on the local machine.
webstartcompiler$ mkdir /www/www.example.com/docs/webstartcompiler/
webstartcompiler$ cp index.html hellowebstart.jnlp hellowebstart.jar javafxrt.jar javafxgui.jar /www/www.example.com/docs/webstartcompiler/
[edit] Start
Web Start via www.example.com/webstartcompiler/
[edit] Hello Web Start FX example (Interpreter)
[edit] License
License see FAQ#What_is_the_licencing_model.3F.
[edit] Requirements
- Java 5 JDK
- /lib/javafxrt.jar and lib/swing-layout.jar from the openjfx packet
[edit] Hello Web Start JFX
Filename: HelloWebStart.fx
import javafx.ui.*;
Frame {
title : 'Hello Web Start JFX!'
width : 600
height : 400
content: Label {
text: 'Hello Web Start JFX!'
font: Font{size: 32}
}
visible: true
}
[edit] Create HelloWebStartJFX.jar
jar cvf HelloWebStartJFX.jar HelloWebStart.fx
[edit] Create HelloWebStartJFX.jnlp
Filename: HelloWebStartJFX.jnlp
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.5+"
codebase="http://www.example.com/HelloWebStartJFX/"
href="HelloWebStartJFX.jnlp">
<information>
<title>Hello Web Start JFX</title>
<vendor>John Doe</vendor>
<homepage href="http://www.example.com/HelloWebStartJFX/"/>
<description>Web Start example for JavaFX Scripts</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.5+" href="http://java.sun.com/products/autodl/j2se">
</j2se>
<jar href="javafxrt.jar" main="true"/>
<jar href="swing-layout.jar"/>
<jar href="HelloWebStartJFX.jar"/>
</resources>
<application-desc main-class="net.java.javafx.FXShell">
<argument>HelloWebStart</argument>
</application-desc>
</jnlp>
[edit] Create signature key
keytool -genkey -alias jfx -dname "CN=John Doe, O=JFX Inc." -validity 9999 -keystore jfx.keystore -keypass keyPassword -storepass storePassword
[edit] Sign .jars
jarsigner -keystore jfx.keystore -verbose -keypass keyPassword -storepass storePassword HelloWebStartJFX.jar jfx
jarsigner -keystore jfx.keystore -verbose -keypass keyPassword -storepass storePassword javafxrt.jar jfx
jarsigner -keystore jfx.keystore -verbose -keypass keyPassword -storepass storePassword swing-layout.jar jfx
[edit] Set link to HelloWebStartJFX.jnlp
Filename: index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hello Web Start JFX!</title>
</head>
<body>
<h1>Hello Web Start JFX!</h1>
<p><a href="HelloWebStartJFX.jnlp">Java Web Start: Hello Web Start JFX!</a></p>
</body>
</html>
[edit] Webserver: Set MIME type for .jnlp
Apache: http.conf or .htaccess.
AddType application/x-java-jnlp-file JNLP
[edit] Copy files on webserver
Copy files on the webserver with FTP or in this case with cp for server on the local machine.
mkdir /www/www.example.com/docs/HelloWebStartJFX/
cp index.html HelloWebStartJFX.jnlp HelloWebStartJFX.jar javafxrt.jar swing-layout.jar /www/www.example.com/docs/HelloWebStartJFX/
[edit] Start
Web Start via www.example.com/HelloWebStartJFX/
