Knute Johnson wrote:
> simplicity wrote:
> > I know this is kind of basic but somehow the solution escapes me.
> >
> > I have the applet which is supposed to hook up with the hardware
> > attach to the computer. The hook-up interface is available in the
> > external JAR archive called sbsdk.jar. So, I compile the applet with
> > the following command:
> >
> > javac -d %DST% ^
> > -classpath %CLASSPATH_1%;%CLASSPATH_2% ^
> > %SRC%\MyApplet.java>%DST%\MyApplet.log 2>%DST%\MyApplet.err
> >
> > where
> > %CLASSPATH_1% points to the location of the sbsdk.jar, namely "C:\Users
> > \User\\Java\lib\sbsdk.jar"
> > and
> > %CLASSPATH_2% points to "%JRE%\lib\plugin.jar" (for JSObject to
> > communicate with javascript in the page).
> >
> > OK, so far so good. Applet compiles with no issues. But that's where
So far all you've done is specify the compile-time classpath.
> > it ends. When I load the HTML file containing the applet into a
> > browser I am getting the exception
> >
> > Exception in thread "thread applet-MyApplet.class-1"
> > java.lang.NoClassDefFoundError: com.<blah-blah>.sbsdk/SBSDKListener
Because you did not provide the JAR to the runtime classpath!
You need to study the Java tutorial.
> > Luckily, I have the access to the sbsdk.jar source code. When I copy
> > the folder structure containing compiled classes of sbsdk (com\<blah-
> > blah>\sbsdk), my applet loads and everything works as expected.
Your expectations are what are at fault.
You must provide the dependencies *at run-time*.
> > Can someone help me understand why this is happening? I know that this
We can tell you why this is happening; we cannot help you understand it.
> > is generally caused by SBSDKListener class not being available at the
> > run time (while it is available at compile time, hence no build
> > errors) but I do not understand what it means in practical terms.
It means, in practical terms, that you neglected to provide the applet with
its dependencies. Consider Knute's question:
> Do you have an archive statement in your APPLET tag that lists all the
> jar files?
>
> http://docs.oracle.com/javase/1.4.2/...sc/applet.html
Presumably he linked you to ancient docs to make the point that nothing has
changed in this area for a very long time.
You should read the tutorials and other documentation.
--
Lew