[Java] 33. 오픈 라이브러리를 참조하는 방법(eclipse에서 maven 연결)


Study/Java  2020. 6. 11. 18:46

안녕하세요. 명월입니다.


이 글은 Java에서 오픈 라이브러리를 참조하는 방법(eclipse에서 maven 연결)에 대한 글입니다.


우리가 프로젝트를 구성해서 프로그램을 작성할 때, 모든 알고리즘과 구조체, 그 구조체를 parsing 하고 변환하는 모든 프로그램 소스를 작성할 수 없습니다.

그렇다고 구글링해서 소스를 긁어 붙이기를 한다거나 검증되지 않는 모듈을 가져와서 사용하기에도 꺼림직한 게 많습니다.


예를 들면 우리가 프로젝트 내부에서 Json 타입의 구조체를 사용한다고 생각합시다.

String 타입으로 된 json 데이터를 클래스로 변환하거나 클래스 타입에서 String 타입의 json 데이터를 변환한다고 하면 Java 표준 라이브러리에는 변환 클래스나 함수가 없기 때문에 결국에는 만들어야 합니다.

만든다고 해도 여러 경우의 수에 대한 테스트도 해야 하고 우리의 목적은 프로젝트인데 이런 소스를 만드는데 꽤나 많은 시간이 발생하게 될 것입니다.


그래서 Apache에서는 이렇게 자주 사용하는 소스를 작성하고 라이브러리를 공개하는데 우리는 그것을 오픈 라이브러리라 하고 합니다.

이 오픈 라이브러리는 maven이라는 프로그램과 maven repository를 통해서 오픈 라이브러리를 쉽게 검색하고 간단하게 내 프로젝트에 자동으로 의존성 체크해주고 연결할 수 있습니다.

(여기서 의존성 체크란 A라는 라이브러리를 참조하고 싶다. 근데 A라는 라이브러리는 B와 C의 라이브러리가 필요하다. 그럼 maven에서 A라는 프로젝트만 연결하면 자동으로 B와 C 라이브러리까지 다운로드해서 연결해주는 기능을 말합니다.)


솔직히 저도 maven의 자세한 이력은 잘 모르고 그냥 쉽게 오픈 라이브러리를 연결하고 사용할 수 있는 프로그램이다라는 정도까지 알고 있습니다.

다른 언어에서는 C#의 Nuget이 있고 Php는 composer가 있고, python에서는 pip가 있습니다.


그럼 maven을 설치하고 eclipse에서 연결하겠습니다. (저는 Java를 개발할 때 사용하는 IDE툴은 eclipse입니다.)

링크 - https://maven.apache.org


사이트에 들어가서 zip 파일을 다운로드합니다.

그리고 적당한 곳에 압축을 풉니다.

그리고 cmd로 해당 디렉토리의 bin 폴더로 가서 mvn -version을 확인합니다.

그리고 환경 변수를 추가합니다. Window key + Pause break를 누르거나 내 컴퓨터의 속성에 들어갑니다.

다시 cmd로 들어가서 확인해 보겠습니다.

이제 maven 설치가 완료되었습니다.


이걸 eclipse에 연결해 보겠습니다.

Window -> Preferences 탭으로 이동합니다.

그리고 설정하겠습니다.

이젠 이클립스에서 maven 프로젝트를 작성해 보겠습니다.


먼저 이클립스에서 일반 프로젝트를 연결합니다.

Maven 프로젝트로 변환합니다.

그럼 pom.xml이 생깁니다.

maven 테스트를 위해 gson을 추가해 테스트하겠습니다.

링크 - https://mvnrepository.com/artifact/com.google.code.gson/gson/2.8.6

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.8.6</version>
</dependency>

dependencies태그를 만들고 그 뒤에 gson의 maven 정보를 넣습니다.


그리고 마우스 오른쪽 버튼을 눌러서 Maven update를 실시합니다.

그럼 라이브러리 파일을 다운로드해서 자동으로 참조까지 해줍니다.

gson 라이브러리는 java에서 json를 사용하기 위한 오픈 라이브러리입니다.

링크 - [Java] Gson을 이용한 Json 다루기


간단하게 예제를 만들어 보겠습니다.

import com.google.gson.Gson;
// 테스트 클래스
class Node {
  // 맴버 변수
  private int data;
  // 취득 함수
  public int getData() {
    return data;
  }
  // 맴버 변수 설정 함수
  public void setData(int data) {
    this.data = data;
  }
}
public class Example {
  // 실행 함수
  public static void main(String[] args) {
    // json 타입의 string 값
    String test = "{\"data\":1}";
    // Gson 인스턴스 생성
    Gson gson = new Gson();
    // string을 Node 인스턴스로 변환
    Node node = gson.fromJson(test, Node.class);
    // 콘솔 출력
    System.out.println(node.getData());
  }
}

maven을 통해 받은 gson 라이브러리를 사용하는 것을 확인할 수 있습니다.


여기까지 Java에서 오픈 라이브러리를 참조하는 방법(eclipse에서 maven 연결)에 대한 글이었습니다.


궁금한 점이나 잘못된 점이 있으면 댓글 부탁드립니다.