[Freeswitch-users] mod_java - java.lang.NoClassDefFoundError
Damjan Jovanovic
damjan at ecntelecoms.com
Sun Nov 25 22:35:41 PST 2007
X-ECN Telecoms-MailScanner-Information: Contact ECN Telecoms
X-ECN Telecoms-MailScanner: Found to be clean
X-ECN Telecoms-MailScanner-SpamCheck: not spam, SpamAssassin (not cached,
score=-97.488, required 6, AWL -0.22, FH_HOST_ALMOST_IP 1.75,
RCVD_IN_SORBS_DUL 0.88, RDNS_DYNAMIC 0.10,
USER_IN_WHITELIST -100.00)
X-ECN Telecoms-MailScanner-From: damjan at ecntelecoms.com
X-Spam-Status: No
On Sat, 2007-11-24 at 19:46 -0800, jonathan augenstine wrote:
> I am encountering the following error when I try to use the mod_java
> interface:
>
> 2007-11-24 18:38:07 [NOTICE] switch_core_state_machine.c:134
> switch_core_standard_on_execute() Execute java(fs_ivr arg1 arg2 arg3)
> Exception in thread "Thread-0" java.lang.NoClassDefFoundError:
> org/freeswitch/Launcher
>
> My dialplan has the following entry:
>
> <extension name="Validation_Demo">
> <condition field="destination_number" expression="1234">
> <action application="java" data="fs_ivr arg1 arg2 arg3"/>
> </condition>
> </extension>
I'm assuming fs_ivr is a class without a package and outside any jar.
> java.conf.xml has the following entry:
>
> <options>
> <!-- Your class path (make sure freeswitch.jar is on it) -->
> <option
> value="-Djava.class.path=/usr/local/freeswitch/scripts/freeswitch.jar"/>
Make sure you have a /usr/local/freeswitch/scripts/freeswitch.jar
> <option
> value="-Djava.class.path=/usr/local/freeswitch/scripts/fs_ivr"/>
This means you have a directory /usr/local/freeswitch/scripts/fs_ivr
containing fs_ivr.class. Also I'm not sure if you can have multiple
-Djava.class.paths like this (that could be why it isn't finding
org/freeswitch/Launcher), you might have to have one colon (:) separated
list of paths. This is also why I prefer having JARs by the way, you
don't have to set the classpath before running freeswitch and reload
mod_java if it changes, and if you overwrite the JAR with a newer
version it starts using the newer version for calls made from then on
(no dialplan editing required :-).
> <!-- Enable remote debugging -->
> <option
> value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=MailScanner warning: numerical links are often malicious: 127.0.0.1:8000"/>
> </options>
>
> I have also tried setting the class path to freeswitch.jar in the
> CLASSPATH environment variable.
>
> export CLASSPATH=/usr/local/freeswitch/scripts/freeswitch.jar.
The CLASSPATH environment variable is ignored.
> None of the permutations have met with success. Can anyone spot the
> error I am making? Any ideas on what to try?
Sorry it's so confusing, I'll document it better when you get it
working.
> Jonathan
>
Damjan
More information about the FreeSWITCH-users
mailing list