Я работаю вместе с примером практики ATM от Deitel java, как программировать 9-е издание.
Пример изложена в главе 13 на стр. 546 (в случае, если кто-то имеет книгу и хотел бы проверить), я уверен, что мой код на 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
это класс am running: прямо вперед, но я не могу найти проблему. любая помощь?
package come.example.atm;
public class AtmRun {
public static void main (String[] args){
Atm theATM = new Atm();
theATM.run();
}
}
UPDATE: когда я запускаю файл.class из каталога bin проекта, используя команду java AtmRun, я получаю следующее:
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
Неважно, как вы используете опции -d и -cp для javac и java-команд. Я не использовал ни один из этих вариантов.
Для получения дополнительной информации, пожалуйста, найдите структуру каталогов.
+test
-+come
-+example
-+atm
-AtmRun.java
-Atm.java
Благодарю.
Atm
?