我正在尝试运行这些程序,但我正在
Error: "Could not find or load main class"
以下是我尝试在cmd行中运行程序的屏幕截图:
Windows Powershell屏幕截图:
这对我来说没有意义,因为文件编译得很好,这意味着可以找到主类。
如果有人能解释出现了什么问题,我会非常感激,谢谢。
UDPServer代码:
UDPClient代码:
答案 0 :(得分:0)
如果您在此处发布代码,那将非常有用。但是,如果我在黑暗中尝试拍摄,我会说你的文件名与Java文件中的类名不匹配。
答案 1 :(得分:0)
运行javac
时,会传递要编译的文件的路径 - 因此这些文件隐式位于类路径中。运行java
时,您没有显式传入任何文件,因此必须在类路径中包含当前目录,以便JVM知道在那里查看。
$ javac Foo.java
$ java -cp . Foo
我经常使用this Bash function进行快速JVM / JDK实验,如果你想尝试在Powershell中复制它。
这是其中一种情况,当前工作目录可能应该默认在类路径上~90%的时间,但它不能容纳最后10%。 (当然,这是否是一个好的设计决定是值得商榷的。)
答案 2 :(得分:0)
你是:
serverClient
。使用错误的命令。他们应该是:
javac serverClient/*.java
java serverClient.UDPServer
java serverClient.UDPClient
答案 3 :(得分:0)
您已在两个文件的顶部定义了package serverClient;
。
因此,您应该拥有一个名为serverClient
的目录,其中包含.class
个文件。
如果您希望使用java
命令行执行,则应该从src
目录执行,如下所示
PS ...\Programming Assignments\src > java serverClient.UDPServer
PS ...\Programming Assignments\src > java serverClient.UDPClient