首页 > 解决方案 > 如何在 VSCODE 中运行两个 Java 文件?

问题描述

我正在尝试制作一个基本的 java echo 客户端服务器应用程序,我正在阅读的教科书说我应该先运行 Server.java 文件,然后再运行 Client.java。但出于某种原因,VSCode 似乎并没有这样做。我运行我的 Server.java 文件并得到了我所期望的:

Simple Echo Server
Waiting for connection.....

然后我转到我的 Client.java 文件并运行它,但没有任何反应,没有错误,它停留在上面显示的两行,我可以 CTRL+C 终止批处理作业。

我期待它会这样说:

Simple Echo Server
Waiting for connection.....
Connected to client

但这并没有发生-尽管我没有收到任何错误。我不认为我的代码有问题,因为它与教科书的相同,但我会在这里发布。

服务器.java

    import java.io.*;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Server {
        public static void main(String[] args) throws Exception {
            System.out.println("Simple Echo Server");
            try (ServerSocket serverSocket = new ServerSocket(6000)) {
                System.out.println("Waiting for connection.....");
                Socket clientSocket = serverSocket.accept();
                System.out.println("Connected to client");
            } catch (IOException ex) {
    
            }
        }
    }

客户端.java

import java.io.*;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;

public class Client {
    public static void main(String[] args) throws Exception {
        try {
            System.out.println("Waiting for connection.....");
            InetAddress localAddress = InetAddress.getLocalHost();
            try (Socket clientSocket = new Socket(localAddress, 6000);
                    PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
                    BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()))) {
            }
        }

        catch (IOException ex) {

        } // Handle exceptions
    }
}

VS代码有没有可能一次运行两个java文件?

编辑尝试了下面的双重配置,但结果是一样的,没有任何变化。

标签: javavisual-studio-code

解决方案


这在 VS Code 中是可以实现的。

点击创建launch.json,保持默认配置,应该和下图中我的差不多,然后添加compounds进去:

在此处输入图像描述

转到选择框并单击左侧绿色三角形按钮选择要运行的化合物,您将获得所需的结果:

在此处输入图像描述


推荐阅读