C:\My Documents\My Java\greghinton\util>echo %classpath%
.;c:\my documents\my java
I have the following file:
C:\My Documents\My Java\greghinton\util>type Foo.java
//: Foo.java
package greghinton.util;
public class Foo {
public static void main(String[] args) {
System.exit(0);
}
} // end of Foo.java
If I create another java file in any directory containing "import
greghinton.util.Foo;" it can use class Foo with no problems. But when I
try to run Foo.class I get the following:
C:\My Documents\My Java\greghinton\util>java Foo
Exception in thread "main" java.lang.NoClassDefFoundError: Foo (wrong
name: greghinton/util/Foo)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:403)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:101)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access$1(URLClassLoader.java:216)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:191)
at java.lang.ClassLoader.loadClass(ClassLoader.java:280)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:275)
at java.lang.ClassLoader.loadClass(ClassLoader.java:237)
C:\My Documents\My Java\greghinton\util>dir Foo.*
Volume in drive C has no label
Volume Serial Number is 3F59-0AFE
Directory of C:\My Documents\My Java\greghinton\util
FOO~1 JAV 146 02-25-99 9:51p Foo.java
FOO~1 CLA 321 02-25-99 9:51p Foo.class
2 file(s) 467 bytes
0 dir(s) 2,178,867,200 bytes free
If I remove the "package greghinton.util;" declaration from Foo.java it
will run ok. I've tried adding an "import" statement to Foo.java but
that doesn't help.
What am I doing wrong? If this is a JDK bug how do I work around it?
Please email a copy of your reply in case I miss it here.
TIA...
Greg
Yep, that does the trick. Thanks.
-Greg-
Greg Hinton wrote:
> I'm using JDK1.2 on Win98. I have classpath set as follows:
>
> C:\My Documents\My Java\greghinton\util>echo %classpath%
> .;c:\my documents\my java
>
> I have the following file:
>
> C:\My Documents\My Java\greghinton\util>type Foo.java
> //: Foo.java
> package greghinton.util;
> public class Foo {
> public static void main(String[] args) {
> System.exit(0);
> }
> } // end of Foo.java
>
> If I create another java file in any directory containing "import
> greghinton.util.Foo;" it can use class Foo with no problems. But when I
> try to run Foo.class I get the following:
>
> C:\My Documents\My Java\greghinton\util>java Foo
> Exception in thread "main" java.lang.NoClassDefFoundError: Foo (wrong
> name: greghinton/util/Foo)
> at java.lang.ClassLoader.defineClass0(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:403)
> at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:101)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
> at java.net.URLClassLoader.access$1(URLClassLoader.java:216)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:191)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:280)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:275)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:237)
>
...
How about
java greghinton.util.Foo
Regards,
Dragan
--
-------------------------------------------------------------------
Dragan Nedeljkovic ClearNet Inc.
dra...@sprint.ca Toronto, Canada