我正在与Deitel java的ATM案例研究一起编写第9版程序。
案例研究位于第546页的第13章(如果有人拿着书并想检查),我确定我的代码是书中所建议的100%。
我已经设置了所有代码,但是当我尝试运行程序时,它给了我这个:
Error: Could not find or load main class come.example.atm.AtmRun
当我尝试从类路径中使用终端来编译类时,它给了我这个错误:
localhost:atm user$ javac AtmRun.java
AtmRun.java:5: error: cannot find symbol
Atm theATM = new Atm();
^
symbol: class Atm
location: class AtmRun
AtmRun.java:5: error: cannot find symbol
Atm theATM = new Atm();
^
symbol: class Atm
location: class AtmRun
2 errors
这是课程正在运行:直截了当,但我似乎找不到问题。有什么帮助吗?
package come.example.atm;
public class AtmRun {
public static void main (String[] args){
Atm theATM = new Atm();
theATM.run();
}
}
更新:当我使用命令java AtmRun从项目的bin目录中运行.class文件时,我得到以下信息:
Exception in thread "main" java.lang.NoClassDefFoundError: AtmRun (wrong name: come/example/atm/AtmRun)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Atm类具有构造函数Atm()和public void run()以及其他方法,该类很大,所以我认为如果我不发布它的代码会更好,但是可以的话可以在书中检查。
注意:我正在使用eclipse,其他项目和类可以正常运行。
对我来说,它奏效了。请按照以下步骤操作:
Y:\HashmiAb\Desktop\Trash\test>javac come\example\atm\Atm.java
Y:\HashmiAb\Desktop\Trash\test>javac come\example\atm\AtmRun.java
Y:\HashmiAb\Desktop\Trash\test>java come.example.atm.AtmRun
Heloo
如何使用javac和java命令的-d和-cp选项很重要。我没有使用任何这些选项。
要获得更多帮助,请找到目录结构。
+test
-+come
-+example
-+atm
-AtmRun.java
-Atm.java
谢谢。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句