Freerouting - javax.jnlp does not exist / Project cannot be run with selected Run Configuration when java web start is disabled



I think this is a bit of a long shot to be honest, but maybe someone has experienced and resolved the problem for themselves already:

I am trying to run the Freerouting application for the first time. I have followed, to the letter, all the instructions on this page.

When I try to compile the application in netbeans I am presented with a whole bunch of errors. To be honest, even before I hit the compile button, I said to myself “you just know this isn’t going to work. When it comes to java, nothing EVER works without first paying for it with a load of grief”.

Anyway, I was right - the errors I get say “error: package javax.jnlp does not exist”.

I have googled around, and found a load of references to the problem, but the solutions I’ve read are mainly java developers talking to other java developers, as you’d expect, and as such the discussion is not basic enough or complete enough for me to translate it into what I need to do to solve my problem.

Has anyone here experienced this problem while trying to compile freerouting? Did you solve it? If yes, I would very much like to know what steps you had to take.



Okay, I still haven’t got this working yet but I’ve made some progress.

If you google the problem, lots of solutions will tell you that you need to import javaws.jar to the classpath. In my case, this file does not exist anywhere on my system. But there is a different file which needs to be imported instead:

  1. In the projects area, right-select FreeRouter and select properties
  2. Select Libraries
  3. Select ‘Add JAR/Folder’
  4. Choose /usr/share/icedtea-web/netx.jar

This gets rid of the “javax.jnlp does not exist” error for me. How are you supposed to know that javax.jnlp is in the netx.jar library? Who knows! But it works. I hope this helps others.

After this the project appears to try and build, but I get this error:

Project cannot be run with selected Run Configuration when java web start is disabled.

I have checked the project properties and java web start is indeed disabled. The instructions I initially linked to do say to enable it, and I did, but it keeps on disabling itself!!! If I go back in and enable it again it doesn’t complain, but when I build it disables itself.

More hoops to jump through, I guess.

Okay, if I google my new problem, there are a bunch of complaints about it from other people. So I’m glad it’s not just me; misery loves company and all that.

Here’s a link to a bug report:

Basically it looks like this is the end of the road as far as I can tell. I can switch to Windows to build the application, or I don’t use the application. That seems to be the choices available to me. I’ll keep trying a few things but if I don’t report back it’s because I gave up and accepted defeat.


Alright! I’ve figured a solution.

Go back into project properties, and make sure Web Start is NOT ticked. Then select the Run tab, and change the Configuration from Web Start to default config.

This allows the application to build without web start, and I’ve been able to run it. It is currently auto-routing so it looks like everything is working fine.

I’ll type up a blog post on this later with all the instructions and then post a link here.

Hi Andy,

I’ll put the bottom line first; I totally agree with you.

As for the reason why I bother, I’m an electronics engineer by trade but I consider myself an amateur when it comes to PCB design. I’ve never done it professionally, I just do it every now and then for my own personal projects. Quite often my personal projects are so simple that I don’t invoke the auto-router at all; I do everything myself from scratch. But sometimes I work on projects which are more complicated to lay out and, as I’m not a professional PCB designer, I find that I lack the necessary intuition when it comes to the laying out of the board. I get so far in the routing process, start to struggle, and then I wonder if the layout I’ve designed is actually ‘routable’ in the first place. And this, for me, is where the auto router comes in. I lay out my PCB in the way I think it will work, and then I send the auto router my job file. Depending on what the auto router makes of it, I may tweak things a few times until the auto router is reliably processing my board all the time.

Once I know the PCB can physically be routed, and that there are no major flaws in my design (board too small, components too close together, too many connections etc), I feel that I have the confidence to route it myself and persevere if I start having some difficulties.

So basically I like to use the auto router as a first pass proof before I invest the time to do the rest of the work myself.


1 Like