我正在与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)
Class Atm有一个构造函数Atm()和public void run()以及其他方法,这个类很大所以我认为如果我不发布代码它会更好但是你可以在书中查看是否可以
注意:我正在使用eclipse,其他项目和类可以正常运行。
答案 0 :(得分:0)
对我来说它有效。请按照以下步骤操作:
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
感谢。