The Java Web Start technology has an IntegrationService API for creating file associations. My question is whether it is possible to somehow use this API (possibly by including
No web site is required to use a jnlp
file locally, just use a file URI scheme for the jnlp codebase
and jar href
.
This will let you experiment with file associations, but you'll want to do a backup and clean the Java Preferences cache first.
Addenda:
As a concrete example, this jnlp
launches JFreeChart:
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+"
codebase="file:///Users/trashgod/jnlp/"
href="jfreechart-1.0.14-demo.jnlp">
<information>
<title>JFreeChart 1.0.14 Demo</title>
<vendor>Object Refinery Ltd</vendor>
<homepage href="http://www.object-refinery.com/" />
<description>A demo for the JFreeChart class library</description>
<description kind="short">JFreeChart demo application.</description>
<description kind="tooltip">JFreeChart 1.0.14 Demo</description>
<offline-allowed />
</information>
<resources>
<j2se version="1.5+" initial-heap-size="12m" max-heap-size="256m" />
<jar href="file:///opt/jfreechart/jfreechart-1.0.14-demo.jar" />
<jar href="file:///opt/jfreechart/lib/jcommon-1.0.17.jar" />
<jar href="file:///opt/jfreechart/lib/jfreechart-1.0.14.jar" />
</resources>
<application-desc main-class="demo.SuperDemo" />
</jnlp>
The <association/> tag uses the attributes mime-type
and extensions
as "a hint to the JNLP client that it wishes to be registered with the operating system as the primary handler of certain extensions and a certain mime-type."