설치 및 설정(Maven)

  • 문서 생성일: 0001-01-01 00:00:00 +0000 UTC
  • 이번 문서는 다음과 같은 목차로 구성됩니다.


    OCI Java SDK 설치 - Maven

    Maven 프로젝트에서 OCI Java SDK 라이브러리를 사용하기 위해서 oci-java-sdk-bom를 임포트합니다. 그리고 필요한 라이브러리를 의존성 설치합니다. 2020년 3월 10일 현재 최신 버전은 1.14.0 버전 입니다. 다음과 같은 설정을 Maven Project의 pom.xml에 추가합니다.

    <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>com.oracle.oci.sdk</groupId>
            <artifactId>oci-java-sdk-bom</artifactId>
            <!-- [github.com:/oracle/oci-java-sdk\]의 tag로 최신 버전 확인 및 적용 -->
            <version>1.14.0</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
        </dependencies>
      </dependencyManagement>
      <dependencies>
      <dependency>
        <groupId>com.oracle.oci.sdk</groupId>
        <artifactId>oci-java-sdk-audit</artifactId>
      </dependency>
      <dependency>
        <groupId>com.oracle.oci.sdk</groupId>
        <artifactId>oci-java-sdk-core</artifactId>
      </dependency>
      <dependency>
        <groupId>com.oracle.oci.sdk</groupId>
        <artifactId>oci-java-sdk-database</artifactId>
      </dependency>
    

    위 설정은 OCI Java SDK 중에서 oci-java-sdk-audit, oci-java-sdk-core, oci-java-sdk-database 관련 의존성 라이브러리를 설치하는 설정입니다.

    현재 이용 가능한 OCI Java SDK 모듈은 다음과 같습니다.

    필요한 모듈을 maven의 dependency 설정에 추가합니다.

    OCI Java SDK 설정

    사용자 자격증명 설정 파일 준비

    OCI Java SDK를 사용하기 위해서는 사용자 자격증명(인증)에 사용되는 OCI Java SDK 설정 파일을 설정합니다. 설정 파일의 기본 위치는 다음과 같습니다.

    운영체제 설정파일 위치 위치 예(OS Account: taewan)
    Window 10 %HOME_PATH%/.oci/config /c:/Users/taewan/.oci/config
    Mac OS X, Linux ~/.oci/config /home/taewan/.oci/config

    이 설정 파일은 OCI CLI 설정 파일과 정확하게 같은 파일입니다. 다음 문서를 참조하여 OCI 사용자 인증을 위한 설정파일(~/.oci/config)을 만들고 구성합니다.

    설정을 마치면 ~/.oci/config 파일에 다음과 같은 설정이 추가됩니다.

    cat ~/.oci/config
    [DEFAULT]
    user=ocid1.user.oc1..aaaaaaaaqddvfo3p4tprztenwebbbbbzebqgqgpbnk4cjspyzcluzi2yndna
    fingerprint=aa:41:d3:08:3d:f1:61:19:ad:9e:db:bc:2e:de:82:43
    key_file=/Users/taewan/.oci/oci_api_key.pem
    tenancy=ocid1.tenancy.oc1..aaaaaaaa6ma7kq3bsif7bdfghdv22cajs3fpesgpqmmsgxihlbcemkklrsqa
    region=us-ashburn-1
    

    OCI Java SDK 인증 코드

    CI Java SDK에 인증 설정 파일을 지정하는 방법은 다음과 같습니다. 다음 코드는 디폴트 프로파일을 사용하는 예제 코드입니다.

    예제 Maven Project

    OCI Java SDK 예제 코드는 다음 URL의 github repository에서 확인할 수 있습니다.

    위 프로젝트를 다음과 같이 다운로드하고 실행할 수 있습니다.

     $ ## github 레파지터리에서 코드 다운로드 
     $ git clone https://github.com/taewanme/oci-java-sdk-examples.git    
    Cloning into 'oci-java-sdk-examples'...
    remote: Enumerating objects: 15, done.
    remote: Counting objects: 100% (15/15), done.
    remote: Compressing objects: 100% (7/7), done.
    remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
    Unpacking objects: 100% (15/15), done.
     $ ## 프로젝트 디렉터리로 이동
     $ cd oci-java-sdk-examples
     $ cd oci_java_sdk_basic
     $ ls
    bin     pom.xml src
     $ ## 프로젝트 빌드 및 실행 
     $ mvn clean install 
    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------< kim.taewan:oci.streaming.example >------------------
    [INFO] Building oci.streaming.example 1.0-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    ## 로그 생략
    [kim.taewan.oci.BasicConfigTest.main()] INFO com.oracle.bmc.ClientRuntime - Using SDK: Oracle-JavaSDK/1.5.2
    [kim.taewan.oci.BasicConfigTest.main()] INFO com.oracle.bmc.ClientRuntime - User agent set to: Oracle-JavaSDK/1.5.2 (Mac OS X/10.15.1; Java/11.0.6; OpenJDK 64-Bit Server VM/11.0.6+9-jvmci-20.0-b02)
    ============================
    Tenancy:apackrsct01
    ============================
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  6.325 s
    [INFO] Finished at: 2020-03-12T10:54:38+09:00
    [INFO] ------------------------------------------------------------------------
     $
    
    김태완 avatar
  • 작성자: 김태완
  • 사랑하는 민수와 데이터 관리, 데이터 분석 & 클라우드에 집중하고 있습니다.
  • E-mail: taewanme@gmail.com
  • Disclaimer
    이 저작물은 Oracle과 관계없이 개인으로서 개인의 시간을 할애하여 작성된 글 입니다. 본 글의 내용, 입장, 예측은 Oracle을 공식적으로 절대 대변하지 않습니다.