Benjamin
Benjamin

Reputation: 541

ClassNotFoundException problem outside Eclipse

I'm having problems running my application outside Eclipse, because when I try this runtime exception is thrown:

Exception in thread "Thread-5" java.lang.NoClassDefFoundError: javazoom/jl/player/Player
    at InterruptHandler$1.execute(InterruptHandler.java:22)
    at InterruptHandler.run(InterruptHandler.java:47)
    at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: javazoom.jl.player.Player
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 3 more

As you can probably conclude from the exception, I'm using JLayer, which I use to play some MP3 files. Of course my first conclusion was the classpath. However, I've now tried numerous different classpath options, however this exact exception has been thrown on my every attempt. Note that all of the .class files reside in a 'bin' directory in the default package, and amongst all of those .class files my .jar file is as well. Here's what classpath options I've tried (by the way, I'm on OS X):

java -classpath /Users/b-dahse/Documents/workspace/project/bin Game
java -classpath /Users/b-dahse/Documents/workspace/project/bin/jl.jar
java -classpath jl.jar Game
java -classpath *.jar Game

Upvotes: 0

Views: 822

Answers (2)

shan
shan

Reputation: 196

Open Tomcat launch configuration and add jl1 jar in classpath . Restart your server and the problem resolved for me.

Upvotes: 0

razlebe
razlebe

Reputation: 7144

I think you want:

java -classpath /Users/b-dahse/Documents/workspace/project/bin/jl.jar:/Users/b-dahse/Documents/workspace/project/bin Game

...to pick up your .jar file as well as any of the miscellaneous .class files you have in the bin directory.

EDIT: Updated classpath to use : separator per comment from @Angel O'Sphere, as OP is using a Mac.

Upvotes: 1

Related Questions