还是不行, C:\>java f:\a.A Exception in thread "main" java.lang.NoClassDefFoundError: f:\a/A或者: F:\a>java A Exception in thread "main" java.lang.NoClassDefFoundError: A (wrong name: at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:502) at java.security.SecureClassLoader.defineClass(SecureClassLoader. 3) at java.net.URLClassLoader.defineClass(URLClassLoader.java:250) at java.net.URLClassLoader.access$100(URLClassLoader.java:54) at java.net.URLClassLoader$1.run(URLClassLoader.java:193) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:186) at java.lang.ClassLoader.loadClass(ClassLoader.java:299) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265) at java.lang.ClassLoader.loadClass(ClassLoader.java:255) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
F:\>java a.A 试过吗?
也不行 F:\>java a.A Exception in thread "main" java.lang.NoClassDefFoundError: a/A
这么来,肯定行 java -classpath "./" a.A在f:\下运行
to takecare(大厅) :我设置了。 to XKP(低等下人) :sorry,你说的对。 F:\>java a.A Hello World! 那我在editplus中怎么不行呢,难道非得在dos下运行吗?
to XKP(低等下人) :我还有一个新问题,请你务必帮我看看,谢了。 刚才的问题解决后,我现在想在f:\下的 B.java 中访问刚才 f:\a\A.class中的类A,B.java是这样写的: import a.*; class B extends A { public static void main(String[] args) { System.out.println("Hello World!"); } } 编译B.java时,出现: F:\>javac B.java B.java:2: cannot access A bad class file: F:\a\A.class class file contains wrong class: a.A Please remove or make sure it appears in the correct subdirectory of the classpa th. class B extends A ^ 1 error 可是F:\a\A.class明明存在呀,我该怎么办?
生成的A.class需不需要放在a文件夹中呀,不过我放进去了后,成了这样了。 F:\>javac B.java B.java:2: cannot access A bad class file: .\A.class class file contains wrong class: a.A Please remove or make sure it appears in the correct subdirectory of the classpa th. class B extends A ^ 1 error你千万不要走开呀,一定要帮我吧这个问题解决掉,我搞了n天也没搞清楚。拜托了!!!
我删除f:\下的A.class后 (这时 f:\a 下有一个A.class) ,又成了: F:\>javac B.java B.java:2: cannot access A bad class file: F:\a\A.class class file contains wrong class: a.A Please remove or make sure it appears in the correct subdirectory of the classpa th. class B extends A ^ 1 error怎么错误提示不一样呀?
A.java代码是: package a; public class A { public static void main(String[] args) { System.out.println("Hello World!"); } }我把A.java放在f:\,然后在dos下输入 F:\>javac A.java 后它只在f:\生成了一个A.class,没有生成a目录,你可以吗,哪里出了问题呢?
package a; public class A { public static void main(String[] args) { System.out.println("Hello World!"); } }代码跟你得一模一样 可是我就是能够生成a目录阿~~~~~~
如楼上所说的目录下
另外,阁下最好用个IDE,如JBuidler,他会加快你的学习速度,并避免你犯诸如此类的低级错误。
不过我在f:\建立了一个a文件夹,然后将A.java、A.class都copy进去了。然后在f:\a下运行A.java可还是不行,错误提示依然如上。
不是a.class吗?命令就直接是
java a.A
不用打扩展名
java A
C:\>java f:\a.A
Exception in thread "main" java.lang.NoClassDefFoundError: f:\a/A或者:
F:\a>java A
Exception in thread "main" java.lang.NoClassDefFoundError: A (wrong name:
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
试过吗?
F:\>java a.A
Exception in thread "main" java.lang.NoClassDefFoundError: a/A
java -classpath "./" a.A在f:\下运行
to XKP(低等下人) :sorry,你说的对。
F:\>java a.A
Hello World!
那我在editplus中怎么不行呢,难道非得在dos下运行吗?
我没用editplus运行,所以~~~
或许是因为在editplus里面读不到系统的环境变量把一般很小的程序比较推荐
Jcreator就行了,里面也可以设置环境变量~~~~~~
刚才的问题解决后,我现在想在f:\下的 B.java 中访问刚才 f:\a\A.class中的类A,B.java是这样写的:
import a.*;
class B extends A
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
编译B.java时,出现:
F:\>javac B.java
B.java:2: cannot access A
bad class file: F:\a\A.class
class file contains wrong class: a.A
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
class B extends A
^
1 error
可是F:\a\A.class明明存在呀,我该怎么办?
A.java删掉··········
生成一个a文件夹
然后把A.java删掉,把B.java放在根目录下面
编译B.java,你再试试看系统变量只要 . 就行了
F:\>javac B.java
B.java:2: cannot access A
bad class file: .\A.class
class file contains wrong class: a.A
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
class B extends A
^
1 error你千万不要走开呀,一定要帮我吧这个问题解决掉,我搞了n天也没搞清楚。拜托了!!!
那个A.class是自动生成在a目录里边的,不是你放进去的~~~~~
你不会是在别的地方编译之后然后把A.class复制进去的吧?
然后你再在F根目录下面编译B.java
你是这样做的吗?
F:\>javac B.java
B.java:2: cannot access A
bad class file: F:\a\A.class
class file contains wrong class: a.A
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
class B extends A
^
1 error怎么错误提示不一样呀?
F:\>javac A.java后,它在f:\下生成了A.class文件,并没有自动生成a文件夹和a文件夹里面的A.class呀。
package a;的话
那么是会在a目录下面生成的
package a;
public class A
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}我把A.java放在f:\,然后在dos下输入
F:\>javac A.java 后它只在f:\生成了一个A.class,没有生成a目录,你可以吗,哪里出了问题呢?
public class A
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}代码跟你得一模一样
可是我就是能够生成a目录阿~~~~~~
或者看看你的JDK的安装目录里的bin目录
希望有
我用的是j2sdk1.4.1,系统是win2000 server,同样的代码怎么会和你编译的结果出现这么大的不同啊?都快疯了
javac - d . A.java
运行时候
java a.A
你是不是这样编译的
我有一次也是这样 后来好了
试试