I\'m trying to open an URI
with Swing that I get above error.
What is the reason and how can I fix it?
When I do it in console everything is OK but
java.awt.Desktop
has been introduced in Java 6. Chances are high you're running your code on different JRE versions.
NoClassDefFoundError
can only be caused by a classpath problem.
Because Desktop
is part of jre, make sure that your classpath contains a reference to the jre library.
In Eclipse, you can go to run configurations --> Classpath and check there
UPDATE:
As Andrew suggested, you can also check you have at least java 1.6
Doc on NoClassDefFoundError
The searched-for class definition existed when the currently executing class was compiled, but the definition can no longer be found.
You do have some incorrect classloading happening. Mostly due to wrong class loader chaining.