能够编译java文件,无法运行文件
我试图运行这些程序,但我得到了能够编译java文件,无法运行文件,java,powershell,cmd,Java,Powershell,Cmd,我试图运行这些程序,但我得到了 Error: "Could not find or load main class" 下面是我试图在cmd行中运行程序的屏幕截图: Windows Powershell屏幕截图: 这对我来说毫无意义,因为文件编译得很好,这意味着可以找到主类 如果有人能解释出哪里出了问题,我将非常感激,谢谢 UDPServer代码: UDPClient代码: 如果您在此处发布代码,将非常有用。但是如果我在黑暗中尝试一下,我会说您的文件名与Java文件中的类名不匹配。当运行j
Error: "Could not find or load main class"
下面是我试图在cmd行中运行程序的屏幕截图:
Windows Powershell屏幕截图:
这对我来说毫无意义,因为文件编译得很好,这意味着可以找到主类
如果有人能解释出哪里出了问题,我将非常感激,谢谢
UDPServer代码:
UDPClient代码:
如果您在此处发布代码,将非常有用。但是如果我在黑暗中尝试一下,我会说您的文件名与Java文件中的类名不匹配。当运行
javac
时,您将传递到要编译的文件的路径,因此这些文件隐式地位于类路径上。当运行java
时,您没有显式地传递任何文件,因此必须在类路径中包含当前目录,以便JVM知道如何查看
$ javac Foo.java
$ java -cp . Foo
如果您想尝试在Powershell中复制JVM/JDK,我经常使用它进行快速的JVM/JDK实验
在这种情况下,默认情况下,当前工作目录大约90%的时间应该在类路径上,但它不能容纳最后10%的时间。(当然,这是否是一个好的设计决策是有争议的)。你是:
serverClient
的目录中javac serverClient/*.java
java serverClient.UDPServer
java serverClient.UDPClient
您已经定义了一个
包serverClient代码>位于两个文件的顶部
因此,您应该有一个名为serverClient
的目录和.class
文件
如果您希望使用java
命令行执行,您应该像这样从src
目录执行
PS…\Programming Assignments\src>java serverClient.UDPServer
PS…\Programming Assignments\src>java serverClient.UDPClient
成功编译并不一定意味着代码中存在主类。1)在发布到此处之前,至少对错误消息进行基本搜索。我在大约3秒钟内找到了我链接的副本。2) 不要发布代码的图像。图像中的代码是无用的;有关避免这样做的许多原因的列表,请参阅。不要在此处张贴文本图片。张贴文本。