gpt4 book ai didi

java - 如何从命令行运行 Eclipse 编译的 Java 类?

转载 作者:行者123 更新时间:2023-12-01 18:55:54 26 4
gpt4 key购买 nike

我正在编写一个基本的 TCP 聊天程序,要求之一是它可以使用以下参数格式从命令行运行:

java Server 8888
java Client localhost 8888

这将启动一个服务器监听 8888 并等待接受来自客户端的传入连接。然后启动客户端并连接到位于 localhost:8888 的服务器。这些类都可以在 Eclipse 中编译和运行,并且我已将上述变量分别添加到这些类的运行配置中。

如果我导航到 CMD 中的文件目录,我可以看到编译后的 .class 文件,但是当我尝试使用以下命令运行服务器时:

java Server 8888

我收到错误

Error: Could not find or load main class Server

Eclipse>窗口>首选项>Java>编译器显示JDK 1.7

从命令行运行 java -version 显示

java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) 64-Bit Server VM (build 22.0-b10, mixed mode)

我希望能够根据单独的提示并行运行这两个类。有什么想法吗?

最佳答案

java -cp . basicChat.Server 8888

您需要指定完全限定的类名(包括包名)

原因:

类的全名(称为完全限定名)不是Server,而是basicChat.Server。该文件位于名为 basicChat 的目录下。所以java正在寻找与包名匹配的目录结构。Server.class 文件位于文件系统的 basicChat 目录下。

另外考虑一下,如果您在不同的包( namespace )中有多个名为 Server 的类,那么我们在选择目标类时会遇到什么问题。

关于java - 如何从命令行运行 Eclipse 编译的 Java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14014453/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com