[java] Maven을 사용하여 자바 서버 클라이언트 통신 구현하기

Maven은 자바 기반 프로젝트의 종속성 관리와 빌드 자동화를 도와주는 강력한 도구입니다. 이번 블로그 포스트에서는 Maven을 사용하여 자바 서버와 클라이언트 간의 통신을 구현하는 방법을 알아보겠습니다.

1. Maven 프로젝트 생성하기

먼저 Maven을 사용하여 프로젝트를 생성해야 합니다. Maven을 설치한 후, 명령 프롬포트(Windows) 또는 터미널(Linux/Mac)을 열고 다음 명령을 입력하여 Maven 프로젝트를 생성합니다.

mvn archetype:generate -DgroupId=com.example -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

위 명령을 실행하면 myproject라는 이름의 Maven 프로젝트가 생성됩니다.

2. 서버와 클라이언트 모듈 추가하기

생성한 Maven 프로젝트 안에는 기본적인 구조와 파일이 포함되어 있습니다. 이제 서버와 클라이언트 간의 통신을 구현하기 위해 각각의 모듈을 추가해야 합니다.

<modules>
    <module>server</module>
    <module>client</module>
</modules>

위와 같이 pom.xml 파일에 서버와 클라이언트 모듈을 추가합니다. 이렇게 하면 Maven은 각 모듈을 개별적으로 빌드하고 관리할 수 있습니다.

3. 서버와 클라이언트 코드 작성하기

서버와 클라이언트 코드를 작성해야 합니다. 각각의 모듈에 src/main/java 디렉토리를 만들고 자바 코드를 작성하세요.

3.1 서버 코드

package com.example.server;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

    public static void main(String[] args) {

        try (ServerSocket serverSocket = new ServerSocket(8080)) {
            System.out.println("서버가 시작되었습니다.");

            while (true) {
                Socket socket = serverSocket.accept();
                System.out.println("클라이언트가 접속했습니다.");

                // TODO: 클라이언트와의 통신 처리 구현
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3.2 클라이언트 코드

package com.example.client;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class Client {

    public static void main(String[] args) {

        try (Socket socket = new Socket("localhost", 8080)) {
            System.out.println("서버에 접속되었습니다.");

            // TODO: 서버와의 통신 처리 구현

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

서버와 클라이언트 간의 통신 처리 부분은 TODO로 표시되어 있으므로 각각의 역할에 맞게 구현해야 합니다.

4. Maven 빌드 및 실행하기

프로젝트의 루트 디렉토리로 이동하여 Maven을 사용하여 프로젝트를 빌드하고 실행할 수 있습니다.

4.1 서버 빌드 및 실행하기

cd server
mvn package
java -jar target/server-1.0-SNAPSHOT.jar

4.2 클라이언트 빌드 및 실행하기

cd client
mvn package
java -jar target/client-1.0-SNAPSHOT.jar

서버와 클라이언트가 정상적으로 실행되면 서버와 클라이언트 간의 통신이 이루어집니다.

이제 Maven을 사용하여 자바 서버와 클라이언트 간의 통신을 구현하는 방법을 알게 되었습니다. Maven의 강력한 기능을 활용하여 개발 작업을 더욱 효율적으로 진행할 수 있습니다. 더 많은 기능과 설정에 대해서는 Maven 공식 문서를 참고하세요.