java.lang.ClassNotFoundException: My Projects.JavaSample
Exception occurred in main() of java.applet.Applet
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:325)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:257)
at java.lang.Class.forName1(Native Method)
at java.lang.Class.forName(Class.java:134)
at JavaSample.main(JavaSample.java:966)
Here is the code.
Thanks
public static void main(java.lang.String[] args) {
try {
Frame frame = new java.awt.Frame();
JavaSample aJavaSample;
Class iiCls = Class.forName("My Projects.JavaSample");
ClassLoader iiClsLoader = iiCls.getClassLoader();
aJavaSample = (JavaSample)java.beans.Beans.instantiate(iiClsLoader,"My
Projects.JavaSample");
frame.add("Center", aJavaSample);
frame.setSize(aJavaSample.getSize());
frame.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
};
});
frame.show();
java.awt.Insets insets = frame.getInsets();
frame.setSize(frame.getWidth() + insets.left + insets.right,
frame.getHeight() + insets.top + insets.bottom);
frame.setVisible(true);
} catch (Throwable exception) {
System.err.println("Exception occurred in main() of
java.applet.Applet");
exception.printStackTrace(System.out);
}
}
> java.lang.ClassNotFoundException: My Projects.JavaSample
I would follow the standard java code conventions. E.g. rename your
package "My Projects" to "myprojects". Also check your classpath when
you run your class.
> Class iiCls = Class.forName("My Projects.JavaSample");
> ClassLoader iiClsLoader = iiCls.getClassLoader();
Using dynamic class loading is flexible, but remember that you wont
get any type checking at compile time :)
Good luck!
- Morten Lileng