Java 编译器在同一目录中找不到其他类

Java 编译器在同一目录中找不到其他类,java,javac,Java,Javac,我编写了一个有3个类的Java程序。当我使用javac时,每当我的主类尝试与其他类交互时,我都会遇到错误。我有什么特别需要做的吗?我只是打电话给javac Main.java。任何帮助都将不胜感激 编辑: 错误是: Main.java:19: cannot find symbol symbol: class DFA location class dfa.Main 我有3个错误是的,编译时需要使用javac上的-classpath选项指定classpath 试着这样编译: javac -clas

我编写了一个有3个类的Java程序。当我使用javac时,每当我的主类尝试与其他类交互时,我都会遇到错误。我有什么特别需要做的吗?我只是打电话给javac Main.java。任何帮助都将不胜感激

编辑:

错误是:

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

我有3个错误

是的,编译时需要使用
javac
上的
-classpath
选项指定
classpath

试着这样编译:

javac -classpath . *.java
注意
-classpath
后面的“点”。它告诉编译器在当前目录中查找所需的任何.java文件


如果您需要其他路径或JAR,您必须确保它们也出现在
-classpath
中。

您需要单独编译这些类 即 javac class1.java javac class2.java javac class2.java

等等

然后 执行为


javacp。MainClass.Main

首先,使用IDE。不要使用命令行

如果您使用javac,您应该为它提供所有应该编译的源文件

javac Main.java DFA.java ... 

javac *.java

javac -sourcepath .  Main.java 

同样,获取一个IDE,不要执行cmd行。

请指定您接收到的错误,并共享仍然显示此行为的最简单代码段。不一定,如果(例如)他的类路径已经包含“@t.J:Extract from question:“我只是在调用javac Main.java”否,他/她可能没有指定。根据手头的证据,我怀疑他/她根本没有指定类路径。参数是在运行时传递给main的,而不是在编译时传递给main的。@duffymo:呃,要不要小声点?我发表了评论,巴卢斯克(我有很多时间和他在一起)对我的评论发表了评论,我回应了他。至于你的观点:不管怎样。我已经编程和使用Java 14年了,没有遇到使用CLASSPATH环境变量的问题。发展!=部署我通常使用IDE,但是我的教授要求他可以用这种方式测试我的代码,所以我不得不用这种方式测试它。
javac Main.java DFA.java ... 

javac *.java

javac -sourcepath .  Main.java