Java URL - Frequently Asked Questions

[Home]

General

Licensing

Compatibility

It doesn't work!

OK, I launched everything on your applications page. Now what? What is the Safe Network Launcher good for?

Yeah. Not much right now. But pretty soon every service provider with any self respect will provide Java URL compatible applications for you to launch. As for right now, you can increase your coolness level by being where it's at. When Java launching becomes second nature, you will be able to impress your friends with stories like "I remember when Java URL was in version 0.3, and we didn't have any of these fancy bells and whistles that you youngsters have nowadays." On a more serious note, I will try to provide more applications that may actually be useful. Why not let me put your application on my list?

I just started learning Java, but I'm really interested in helping with Java URL. What can I do?

I get this question a lot. It seems like everybody's learning Java these days. My guess is that the real benefactors from Java these days are programming schools... Anyway, you can help a whole lot! Just download the source code and start fiddling around with it. Experiment. I really, really need some serious help with testing, especially on non-Windows platforms. You don't even have to tell me about it. Just start testing now, and let me know about bugs and stuff. And if you can extend Java URL, or provide a better implementation of features, all the better. You will get credit for your work on the next release of Java URL, and on this web site. Thanks!

This is all very cool. I want my application to use Java URL right now. What do I have to do?

The jlaunch.jar file includes a tool called jnlpgen (that's the name of the class - simply run "java jnlpgen" for help) that generates a JNLP skeleton with a few supplied command line parameters. However, you should familiarize yourself with the JNLP (Java Network Launching Protocol) specification so you can make changes to this skeleton.

Furthermore, your application must be sensitive to Java URL's security issues. For example, don't assume that you can simply read a file from your current directory. The security manager will not allow you to access the cache directly because this could give rise to all sorts of security problems.

Likewise, be aware that using the system class loader (with such methods as ClassLoader.getSystemResource) will not work as expected, because the cache is not part of the VM's classpath. You should use the getClass().getClassLoader().getResource method instead to ensure use of the launcher's specialized class loader.

(Windows) How do I add my application to the start menu, or as a desktop shortcut?

Easily. A simply URL shortcut to the JNLP file will do. If you want to run in local mode, you can copy the JNLP file locally, and use a file shortcut to it.

Do I need my application to be GNU licensed if I want to launch it with Java URL?

Not at all, if all you want is for people to use the Safe Network Launcher to access your application/service.

The license only restricts integration with other products. For example, if you are developing an embedded operating system and want to integrate Java URL into it, you need the operating system to be compatible with the GNU General Public License. If it isn't, you can license Java Web Start technology from Sun Microsystems. Hopefully, you will consider releasing your operating system with the GNU General Public License to benefit from Java URL and other GNU products (such as the Kaffe virtual machine).

Is Java URL an implementation of Sun's JNLP specification?

No, it isn't. Java URL is an independent project that is committed to support JNLP applications and provide JNLP services. It does not intend to get Sun Microsystems compliance logo, and does not conform to the JNLP document. In fact, some of the Safe Network Launcher's features defy the document, such as working on JDK 1.1 platforms, and being open to protocols other than HTTP. In addition, it does not use JNLP's license-based security scheme. Not implementing JNLP, in these cases, is an important advantage.

The bottom line is that while Java URL does not follow the JNLP document, it provides a similar set of features, and more. And it works with JNLP applications. If you really need a JNLP stamp on your product, you may consider licensing Java Web Start technology from Sun. Oops, sorry, that's actually the only option you have.

What are the differences between Java URL and Sun Microsystems's Java Web Start?

I compared the two products (Java URL version 0.3 and Java Web Start early access version 0.4) in an article for JavaWorld magazine. Take comparisons at this early stage of both products with a grain of salt.

Nothing happens when I try to run the Safe Network Launcher. What gives?

Uhm, do you have a Java virtual machine? Is it JDK 1.1 compatible? Did you enter its path name in the installer? Try running the same path from the command line to see if it actually works. By default the installer assumes the VM executable is available on your operating system's search path. It might not be. Feel free to run the installer as many times as you want, as nothing bad will happen to your OS.

Browsers don't seem to identify my links as JNLP files, even though yours work fine. Why?

Your web server must be configured to send JNLP files with the JNLP MIME type (which is application/x-java-jnlp-file). For Apache, here is my public_html/.htaccess file (create it if it's not there):

AddType application/x-java-jnlp-file jnlp
AddType application/zip jar

(The second line is useful, too. It forces browsers to identify JARs as ZIP files.)


(Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
Tal Liron and the Java URL Project are independent of Sun Microsystems, Inc.)