Maven을 사용하여 원하는 Java 라이브러리를 환경에 추가합니다.

소개



조금 전에 자작한 Java의 동영상 인코딩 앱을 유지하려고 했는데, 환경이 바뀌면 다시 외부 라이브러리(JavaCV, JavaCPP) 주위를 다시 구축해야 하는 만들기가 되어 있었습니다. (유석 Windows 앱 초보자, 안 돼)

그래서 언제든지 쉽게 JavaCV를 사용할 수 있도록 Maven 환경을 만들었으므로 그 각서입니다.

Maven이란?



여러가지 있다고 생각합니다만, 본 기사에서의 포인트가 되는 것만 발췌.
  • 빌드 정보는 pom.xml 파일에 기재하면 OK!
  • 필요한 Java 라이브러리는, pom.xml에 기재하면 Maven 리포지토리로부터 의존하는 라이브러리를 포함해 자동적으로 다운로드해 준다

  • 이 기사에서는 2의 pom.xml에 대한 설명 방법을 소개합니다.

    Maven에 대해서는 이 기사 로 환경 구축까지 정중하게 기재해 주고 있으므로, 흥미가 있는 분은 참조해 주세요.

    Maven을 이용한 라이브러리 추가. JavaCV 예제



    공식 사이트에서 설치 방법 확인



    JavaCV 설정



    JavaCV는 이미지 변환 도구인 OpenCV와 동영상 인코딩 도구인 FFmpeg를 모두 Java에서 사용할 수 있는 편리한 도구입니다.

    공식 사이트 을 확인하면, Maven의 기재 방법이 쓰고 있네요.

    pom.xml
      <dependency>
        <groupId>org.bytedeco</groupId>
        <artifactId>javacv-platform</artifactId>
        <version>1.4.2</version>
      </dependency>
    

    과연, 이것만으로 좋을까라고 생각하면서 읽어 진행하면, JavaCPP Presets라고 하는 것도 필요인 것 같습니다. 실은 이쪽에 OpenCV, FFmpeg의 본체와 관련하고 있는 처리가 포함되므로 이쪽도 필수가 됩니다.

    JavaCPP 설정



    그래서 JavaCPP 공식 사이트도 확인.

    pom.xml
      <dependency>
        <groupId>org.bytedeco.javacpp-presets</groupId>
        <artifactId>${moduleName}-platform</artifactId>
        <version>${moduleVersion}-1.4.2</version>
      </dependency>
    

    이쪽도 쓰고 있네요, 좋아 완료! …라는 moduleName과 moduleVersion은 무엇입니까?

    groupId에서 지원하는 artifact를 확인합니다.



    JavaCPP는 Maven 리포지토리에 다양한 artifact를 포함하므로 사용하려는 것을 발췌해야합니다. 게다가 버전도 맞출 필요가 있다고 조사하는 것이 귀찮거나.
    어쨌든 알아보겠습니다.

    리포지토리에서 artifact 확인



    javacpp-presets에서 구그가 있으면 다음 리포지토리 사이트를 찾았습니다.
    htps : // mv 넝마와 ry. 코m/
    핀 포인트로 조사할 때는 https://mvnrepository.com/artifact/グループID 로 OK.

    이번 대상인 org.bytedeco.javacpp-presets을 지정해 보면, 이런 느낌으로 일부 artifact가 나옵니다.



    이번에는 FFmpeg와 OpenCV 이었기 때문에 ffmpeg-platform과 opencv-platform의 내용을 확인. 그러면 이렇게 지원하는 Version 정보가 나옵니다.



    위의 예에서 JavaCPP의 공식 사이트와 비교하면 moduleName⇒ffmpeg-platform, moduleVersion⇒4.0.1-1.4.2가 되는 것 같습니다.

    최종 설정



    위를 참고로 아래와 같이 pom.xml에 dependency를 추가했습니다. 빌드 결과, 무사 빌드가 대로 작성하고 있던 Java 어플리케이션이 동작하게 되었습니다.
    했어!

    pom.xml
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacv-platform</artifactId>
            <version>1.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.bytedeco.javacpp-presets</groupId>
            <artifactId>opencv-platform</artifactId>
            <version>3.4.2-1.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.bytedeco.javacpp-presets</groupId>
            <artifactId>ffmpeg-platform</artifactId>
            <version>4.0.1-1.4.2</version>
        </dependency>
    

    마지막으로



    이번에는 특히 dependency의 version은 어떻게 조사하는 거야? 라는 점을 남겨두고 싶고 기사로 했습니다.

    이렇게 보면 최근 개발은
  • 빌드 환경⇒Maven나 Gradle
  • 작동 도구 ⇒ ruby ​​gem 및 python pip, Linux apt/yum
  • 동작환경⇒Docker

  • 그리고 언제 어디서나 같은 것을 사용할 수 있도록 하는 것이 일반적이네요.
    사내의 닫힌 환경등에서 개발하고 있다고 접할 기회가 적거나 합니다만, 자작으로 새로운 툴을 만드는 것이라면, 이러한 편리한 기능은 적극적으로 사용해 가고 싶습니다.

    참고



    Maven 기초 : 【초초보자용】Maven 초입문
    처음 참조 한 기사 : Eclipse+Maven이라는 편리한 개발 환경을 설치부터 프로젝트 작성까지

    좋은 웹페이지 즐겨찾기