powershell运行D盘java,关于powershell:能够编译java文件,无法运行文件

本问题已经有最佳答案,请猛点这里访问。

我正在尝试运行这些程序,但我正在

Error:"Could not find or load main class"

下面是我试图运行命令行中的程序的屏幕截图:

Windows PowerShell屏幕截图:

214a9866c102d98b4f1a2b609acdf542.png

这对我来说毫无意义,因为文件编译得很好,这意味着可以找到主类。

如果有人能解释出问题所在,我会非常感激的,谢谢。

udpserver代码:

8d357ac37a0fa18f266002d36ab6edcd.png

udpclient代码:

7a6c3681bb8b962cbf45bb8fc2b08765.png

成功的编译并不一定意味着代码中存在主类。

1)在这里发布之前,至少对错误消息进行基本搜索。我在3秒内找到了我链接的副本。2)不要发布代码的图像。图片中的代码是无用的;查看这个meta-post可以获得避免这样做的许多原因的列表。

不要在这里张贴文本图片。张贴课文。

您已经在两个文件的顶部定义了一个package serverClient;。

因此,您应该有一个名为serverClient的目录和您的.class文件。

如果您希望使用java命令行执行,那么应该像这样从src目录执行

PS ...\Programming Assignments\src > java serverClient.UDPServer

PS ...\Programming Assignments\src > java serverClient.UDPClient

你是:

在错误的目录中。您应该在包含serverClient的目录中。

使用错误的命令。它们应该是:

javac serverClient/*.java

java serverClient.UDPServer

java serverClient.UDPClient

当运行javac时,您将把路径传递给要编译的文件,因此这些文件隐式地位于类路径上。当运行java时,您不会显式地传递任何文件,因此您必须在类路径中包含当前目录,以便让JVM知道在那里查看。

$ javac Foo.java

$ java -cp . Foo

如果您想在PowerShell中复制它,我经常使用这个bash函数进行快速的jvm/jdk实验。

在这种情况下,当前的工作目录在默认情况下应该在类路径上大约90%的时间,但它不能适应最后10%的时间。(当然,这是不是一个好的设计决定是有争议的)。

如果你把你的代码贴在这里会很有用。但是如果我在黑暗中尝试一个镜头,我会说你的文件名与你的Java文件中的类名不匹配。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值