Компилятор не находит другие классы в том же каталоге - PullRequest
2 голосов
/ 06 сентября 2010

Я написал программу на Java, в которой есть 3 класса. Когда я использую javac, я получаю ошибки всякий раз, когда мой основной класс пытается взаимодействовать с другими классами. Что-нибудь особенное, что мне нужно сделать? Я просто звоню в javac Main.java. Любая помощь будет принята с благодарностью.

Edit:

DFA myDFA = new DFA();
String test = args[0];
if(myDFA.accept(test))

и ошибка:

Main.java:19: cannot find symbol
symbol: class DFA
location class dfa.Main

У меня есть 3 из этих ошибок

Ответы [ 3 ]

3 голосов
/ 06 сентября 2010

Да, вам нужно указать classpath, используя опцию -classpath на javac при компиляции.

Попробуйте скомпилировать так:

javac -classpath . *.java

Обратите внимание на 'точка 'после -classpath.Он указывает компилятору искать в текущем каталоге все необходимые ему файлы .java.

Если вам нужны другие пути или JAR-файлы, вы должны убедиться, что они также присутствуют в -classpath.

2 голосов
/ 06 сентября 2010

Вам нужно составлять классы индивидуально то есть javac class1.java javac class2.java javac class2.java

и т.д.

и затем выполнить как

Java cp. MainClass.Main

0 голосов
/ 06 сентября 2010

сначала используйте IDE.не используйте строку cmd.

если вы используете javac, вы должны предоставить ему все исходные файлы, которые должны быть скомпилированы

javac Main.java DFA.java ... 

javac *.java

javac -sourcepath .  Main.java 

, получить IDE, не используйте строку cmd.

...