Java Web Start (Jnlp) Tutorial

Here is a brief explanation about Java Web Start from SUN

“Java Web Start is a mechanism for program delivery through a standard Web server. Typically initiated through the browser, these programs are deployed to the client and executed outside the scope of the browser. Once deployed, the programs do not need to be downloaded again, and they can automatically download updates on startup without requiring the user to go through the whole installation process again.”

This tutorial shows you how to create a Java Web Start (Jnlp) file for user to download, when user click on the downloaded jnlp file, launch a simple AWT program. Here’s the summary steps :

  1. Create a simple AWT program and jar it as TestJnlp.jar
  2. Add keystore into TestJnlp.jar
  3. Create a Jnlp file
  4. Put all into Tomcat Folder
  5. Access TestJnlp.jar from web through http://localhost:8080/Test.Jnlp

Ok, let’s start

1. Install JDk and Tomcat

Install Java JDK/JRE version above 1.5 and Tomcat.

2. Directory Structure

Directory structure of this example.

3. AWT + Jnlp

See the content of TestJnlp.java, it’s just a simple AWT program with AWT supported.


package com.mkyong;

import java.awt.*;
import javax.swing.*;
import java.net.*;
import javax.jnlp.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class TestJnlp {
  static BasicService basicService = null;
  public static void main(String args[]) {
    JFrame frame = new JFrame("Mkyong Jnlp UnOfficial Guide");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JLabel label = new JLabel();
    Container content = frame.getContentPane();
    content.add(label, BorderLayout.CENTER);
    String message = "Jnln Hello Word";
    
    label.setText(message);

    try {
      basicService = (BasicService)
        ServiceManager.lookup("javax.jnlp.BasicService");
    } catch (UnavailableServiceException e) {
      System.err.println("Lookup failed: " + e);
    }

    JButton button = new JButton("http://www.mkyong.com");

    ActionListener listener = new ActionListener() {
      public void actionPerformed(ActionEvent actionEvent) {
        try {
          URL url = new URL(actionEvent.getActionCommand());
          basicService.showDocument(url);
        } catch (MalformedURLException ignored) {
        }
      }
    };

    button.addActionListener(listener);

    content.add(button, BorderLayout.SOUTH);
    frame.pack();
    frame.show();
  }
}

P.S If “import javax.jnlp.*;” is not found, please include jnlp library which located at JRE/lib/javaws.jar.

4. Jar It

Located your Java’s classes folder and Jar it with following command in command prompt


jar -cf TestJnlp.jar *.*

This will packs all the Java’s classes into a new jar file, named “TestJnlp.jar“.

5. Create keystore

Add a new keystore named “testkeys”


keytool -genkey -keystore testKeys -alias jdc

It will ask for keystore password, first name, last name , organization’s unit…etc..just fill them all.

6. Assign keystore to Jar file

Attached newly keystore “testkeys” to your “TestJnlp.jar” file


jarsigner -keystore testKeys TestJnlp.jar jdc

It will ask password for your newly created keystore

7. Deploy JAR it

Copy your “TestJnlp.jar” to Tomcat’s default web server folder, for example, in Windows – C:\Program Files\Apache\Tomcat 6.0\webapps\ROOT.

8. Create JNLP file

Create a new Test.jnlp file like this


<?xml version="1.0" encoding="utf-8"?> 
<jnlp spec="1.0+" codebase="http://localhost:8080/" href="Test.jnlp">
	<information>
		<title>Jnlp Testing</title>
		<vendor>YONG MOOK KIM</vendor>
		<homepage href="http://localhost:8080/" />
		<description>Testing Testing</description>
	</information>
	<security>
		<all-permissions/>
	</security>
	<resources>
		<j2se version="1.6+" />
		<jar href="TestJnlp.jar" />
	</resources>
	<application-desc main-class="com.mkyong.TestJnlp" />
</jnlp>

9. Deploy JNLP file

Copy Test.jnlp to your tomcat default web server folder also.


C:\Program Files\Apache\Tomcat 6.0\webapps\ROOT

10. Start Tomcat


C:\Tomcat folder\bin\tomcat6.exe

11. Test it

Access URL http://localhost:8080/Test.jnlp, it will prompt you to download the Test.jnlp file, just accept and double click on it.

If everything went fine, you should see following output

Click on the “run” button to launch the AWT program.

Note
If jnlp has not response, puts following codes in your web.xml, which located in Tomcat conf folder.


  <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
  </mime-mapping>

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

Leave a Reply

avatar
newest oldest most voted
Aravind
Guest
Aravind

please help – .jnlp is not being server up by tomcat – all the above steps have been done.
Mar 07, 2018 4:57:45 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [default] in context with path [] threw exception
java.io.FileNotFoundException: C:Program FilesApache Software FoundationTomcat 7.0webappsROOTlaunch.jnlp (Access is denied)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(Unknown Source)
at java.base/java.io.FileInputStream.(Unknown Source)
at org.apache.naming.resources.FileDirContext$FileResource.streamContent(FileDirContext.java:1008)
at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:2080)
at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1023)
at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:453)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at org.apache.catalina.servlets.DefaultServlet.service(DefaultServlet.java:433)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Unknown Source)

Aravind
Guest
Aravind

please help with this error below

Mar 07, 2018 4:57:45 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [default] in context with path [] threw exception
java.io.FileNotFoundException: C:Program FilesApache Software FoundationTomcat 7.0webappsROOTlaunch.jnlp (Access is denied)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(Unknown Source)
at java.base/java.io.FileInputStream.(Unknown Source)
at org.apache.naming.resources.FileDirContext$FileResource.streamContent(FileDirContext.java:1008)
at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:2080)
at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1023)
at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:453)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at org.apache.catalina.servlets.DefaultServlet.service(DefaultServlet.java:433)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Unknown Source)

divya
Guest
divya

i want to add a new keystore but it is showing error filenotfoundexception, access is denied, what should is do

S.Taefi
Guest
S.Taefi

I’m using an applet to print on some smart cards in an application. Now we should migrate from applets as they are not supported any more. We have a method “void print(int requestId)” which is being called by javascript and it’s parameter is passed through javascript call dynamically for each request on the page. Now is it possible somehow to pass this dynamic requestId to a Java Web Start application?

Ovidiu CONEAC
Guest
Ovidiu CONEAC

Awesome overview! Thank you!

Thomas
Guest
Thomas

How can I start a .exe file wich is located inside the jar?

Gout Ash Shabur
Guest
Gout Ash Shabur

how to solve to this error. unable to load resource

Sanjeev Kulkarni
Guest
Sanjeev Kulkarni

Hi, i tried the above example of Java Web Start. I keep on getting the below error while accessing http://localhost:8080/Test.jnlp. Please help me

java.lang.ClassNotFoundException: com.mkyong.TestJnlp
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Shruti Agarwal
Guest
Shruti Agarwal
Hi, I am trying to deploy a swing application with some dependent jar files on WAS7 using RAD. I have created a new dynamic project and under Webcontent i have pasted the signed jar and all other dependent signed jar files along with JNLP file created. Also i have added the dependent jars in tag of jnlp file. But while deploying it on the WAS it gives me the below stack trace and the Goes out of Memory: [4/7/15 16:17:56:096 IST] 0000001a wtp E org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ModuleFileImpl processNoSuchClassException Annotations scanning of archive [ clientAppWeb.war ] completed with errors. Could not find class… Read more »
David
Guest
David

Hi Shruti, were you able to find the origin of the Issue? I’m having the same issue now with one application in WebSphere 7. Before the application was working with Parent First Configuration, but now that I’ve changed to Parent First is not working.

Let me know if you find out the Issue?

pvs
Guest
pvs
Getting these exceptions: java.security.AccessControlException: access denied (“java.util.PropertyPermission” “user.dir” “read”) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at com.sun.javaws.security.JavaWebStartSecurity.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPropertyAccess(Unknown Source) at java.lang.System.getProperty(Unknown Source) at java.io.WinNTFileSystem.getUserPath(Unknown Source) at java.io.WinNTFileSystem.resolve(Unknown Source) at java.io.File.getAbsolutePath(Unknown Source) at java.io.File.getAbsoluteFile(Unknown Source) at java.io.File.toURI(Unknown Source) at com.sun.deploy.ui.AppInfo.getJNLPFromUnknownSource(Unknown Source) at com.sun.javaws.jnl.LaunchDesc.getJNLPSrcForAppInfo(Unknown Source) at com.sun.javaws.jnl.LaunchDesc.getAppInfo(Unknown Source) at com.sun.javaws.util.JNLPUtils.getLocalApplicationProperties(Unknown Source) at com.sun.jnlp.FileSaveServiceImpl.askUser(Unknown Source) at com.sun.jnlp.FileSaveServiceImpl.saveFileDialog(Unknown Source) at com.coremetrics.tcg.ui.TrackingCodeGeneratorUI.downloadTemplate(Unknown Source) at com.coremetrics.tcg.ui.TrackingCodeGeneratorUI.access$500(Unknown Source) at com.coremetrics.tcg.ui.a.mouseClicked(Unknown Source) at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at… Read more »
Yusuf1494
Guest
Yusuf1494

How to include dependencies jars that outside main jar?
I tried

pradip karad
Guest
pradip karad
HI MKYong ,is there any solution you have for auto updation of jar file on client side ….i will give you demo …suppose i have one software ,i installed it on client server machine and suppose on my development server i made some changes in code built the jar again then can i automatically update it on client server matchine ……except manually sending that newly generated jar file to customer i have to automatically update jar file at client side if i made any changes in code and built jar again….. if you got my point plz send me the… Read more »
Rashmi
Guest
Rashmi

I tried with this example
it downloads test.jnpl and then when I double click on that downloaded file it opens test.jnpl rather than opening exe.
Could you pls suggest where I am going wrong

Pradeep S
Guest
Pradeep S

Hi, i tried the above example of Java Web Start. I keep on getting the below error while accessing http://localhost:8080/Test.jnlp. Please help me

java.lang.ClassNotFoundException: com.mkyong.TestJnlp
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Archana
Guest
Archana

Make sure the created jar contains the directory structure com.mkyong.TestJnlp. For this, you need to run the jar command from the folder containing the “com” folder. e.g. if you placed “com” folder inside “newFolder” then you need to run the command jar -cf TestJnlp.jar *.* from inside “newFolder”.

Cheng Song
Guest
Cheng Song

Hi, recently our company is considering using Java Web Start to provide some internal services. And I ran into some problems.

We are using WebSphere as our servlet container, and when I deploy the war file into the server, typing url ending with .jnlp always returns DownloadFileNotFound. We use JNLPServlet to redirect all requests.

Could you help me? I could send the war file to you.

mjaved@wayne.edu
Guest
mjaved@wayne.edu

I want to add an un-install option in my webstart-based application.

Is it possible to delete the jnlp file from the Java Cache using JNLP API

trackback
JAR error when using JNLP | BlogoSfera

[…] am learning JavaWebStart service. I am following this Tutorial This is my directory structure. When doing 4th step, I am getting jar is not recognized as an […]

Amit
Guest
Amit

Nice and helpful tutorial……..

Narendra
Guest
Narendra

and what if i want to run that jnlp without downloading it ??can anybody tell me that ?

kartik
Guest
kartik

Hi

Is it possible to download an exe file on the client machine and launch it ? Can DownloadService be used for this ?

Thanks
Kartik

Carlos Kanak
Guest
Carlos Kanak

mkyong,

Where de JWS download the libs?

Carlos

Raffy
Guest
Raffy

There is no lib in the example. It is too simple. If there’s a lib or other files/resources, it should be define in jnlp file under resources.

Read more on java web start, jnlp or else use Netbeans IDE. In Netbeans, on building the project, it will automatically create the jnlp in the dist folder together with the jar and lib. No hassle.

Java Webstart – http://docs.oracle.com/javase/tutorial/deployment/webstart/index.html
Launching JWS – http://java.com/en/download/faq/java_webstart.xml
FAQs -http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/faq.html

Raffy
Guest
Raffy

The jnlp should look like this:

Hope it help. :)

Phil
Guest
Phil

Hi,

Do you have an JNPL sample with Maven ?
My goal is to have an application that verify last version on server with JNLP and use maven ?

Regard

Programmer
Guest
Programmer
Hello, excuse my English. I have the following problem, my application creates a file with “jnlp” dynamically URLs containing multiple images to be downloaded later to be displayed by the application. Depending too many images to be informed, in which case the final size of the file with extension “. Jnlp” exceed 1MB. If I try to run this file with the extension “. Jnlp” java web start shows “File too large”, and cancels loading the file and terminates the execution. Is there a size limit for files with “. Jnlp”? I can not create and execute files with the… Read more »
Garfield
Guest
Garfield

Hello, I desire to subscribe for this webpage to take most up-to-date updates, therefore where can i do it please assist.

Yogesh
Guest
Yogesh

Hi MkYong,
The Tutorial was very much helpful.But i am unable to launch my application ,it is giving exception as:

Lookup failed: javax.jnlp.UnavailableServiceException: uninitialized
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at TestJnlp$1.actionPerformed(TestJnlp.java:44)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5501)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5266)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3968)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Disconnected from the target VM, address: ‘127.0.0.1:2360’, transport: ‘socket’

Process finished with exit code 0

so wht should be the issue??

Bee
Guest
Bee

I was suggested this web site through my
cousin. I am not positive whether this put up is written through him as no one else recognize such targeted
about my problem. You’re wonderful! Thanks!

karim
Guest
karim

I got this expetion i called my jar Talisman.jar

com.sun.deploy.net.JARSigningException: Found unsigned entry in resource: http://localhost:8080/Talisman.jar
at com.sun.javaws.security.SigningInfo.getCommonCodeSignersForJar(Unknown Source)
at com.sun.javaws.security.SigningInfo.check(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Sean
Guest
Sean

jar file not properly signed.

trackback
jnlp resource is not available in Apache Tomcat | Code and Programming

[…] my problem. I’m trying to perform a JWS launch of a simple Swing by reproducing the example http://www.mkyong.com/java/java-web-start-jnlp-tutorial-unofficial-guide/. So I installed Apache Tomcat 6.0.36, verified that it is up, created the TestSwing.jnlp file and […]

Praveen Das
Guest
Praveen Das
Hi mkyong, I’m getting the below error, appreciate if you could guide me to the solution. java.io.FileNotFoundException: http://localhost:8080/Test.jnlp at sun.reflect.GeneratedConstructorAccessor1.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source) at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source) at com.sun.deploy.net.BasicHttpRequest.doGetRequest(Unknown Source) at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source) at com.sun.javaws.Launcher.updateFinalLaunchDesc(Unknown Source) at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) at com.sun.javaws.Launcher.launch(Unknown Source) at com.sun.javaws.Main.launchApp(Unknown Source) at com.sun.javaws.Main.continueInSecureThread(Unknown Source) at com.sun.javaws.Main$1.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.io.FileNotFoundException: http://localhost:8080/Test.jnlp at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)… Read more »
krishna
Guest
krishna

I am getting java.lang.NoClassDefFoundError : javafx/application/Application while running the applicatin on tomcat. can you please help on this.