Java 개발 환경 설정

이 가이드에서는Google Cloud에서 실행되는 Java 앱 개발을 포함하여 Java 개발을 위해 로컬 머신을 준비하는 방법을 보여줍니다. 다음 단계에 따라 Java 및 관련 도구를 설치하세요.

목표

  • JDK(자바 개발 키트) 설치
  • 빌드 자동화 도구 설치
  • gcloud CLI 설치
  • (선택사항) IDE 또는 편집기 설치
  • (선택사항) IDE Google Cloud 플러그인 설치
  • 자바용 Cloud 클라이언트 라이브러리 설치
  • 인증을 설정합니다.

JDK(자바 개발 키트) 설치

다음 환경 변수가 설정되어 있는지 확인하여 원하는 Java 배포를 선택할 수 있습니다.

  • JAVA_HOME: JDK 설치 기본 위치를 가리킵니다.
  • 경로: $JAVA_HOME/bin을 포함합니다.

Eclipse Temurin은Google Cloud와 함께 사용할 수 있는 권장 OpenJDK (Java 개발 키트) 배포입니다. Temurin은 오픈소스 라이선스가 부여되고 Java SE TCK 인증을 받았으며 프로덕션 품질 성능과 보안을 보장하기 위해 테스트되었습니다.

Temurin의 설치 안내는 운영체제별로 다릅니다.

Compute Engine 부팅 이미지를 사용하는 경우 다음 설치 스크립트를 사용할 수 있습니다.

CentOS/RHEL/Rocky

  1. CentOS/RHEL/Rocky Linux의 주요 버전을 확인합니다.
    eval "$(grep VERSION_ID /etc/os-release)"
    eval "$(grep ^ID= /etc/os-release)"
    OLD_IFS=$IFS
    IFS='.'
    read -ra split_version <<< "$VERSION_ID"
    IFS=$OLD_IFS
    MAJOR_VERSION=$split_version
  2. Adoptium 소스 저장소 파일(`/etc/yum.repos.d/adoptium.repo`)을 만듭니다.
    sudo tee /etc/yum.repos.d/adoptium.repo << EOM
    [Adoptium]
    name=Adoptium
    baseurl=https://packages.adoptium.net/artifactory/rpm/$ID/$MAJOR_VERSION/\$basearch
    enabled=1
    gpgcheck=1
    gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public
    EOM
  3. 패키지 목록을 업데이트합니다.
    sudo yum update -y
  4. Temurin을 설치합니다.
    sudo yum install -y temurin-17-jdk
  5. 설치를 확인합니다.
    java -version

Debian/Ubuntu

  1. 공개 저장소 GPG 키를 설치합니다. Ubuntu 16.4를 사용하는 경우 파일을 저장하기 전에 gpg --dearmor를 통해 키를 전달하세요. (예: sudo wget ... | gpg --dearmor | sudo tee ...)
    sudo mkdir -p /etc/apt/keyrings
    sudo wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public |
      sudo tee /etc/apt/keyrings/adoptium.asc
  2. Linux 배포판의 이름을 정하고 소스 목록 파일 /etc/apt/sources.list.d/adoptium.list를 만듭니다.
    eval "$(grep VERSION_CODENAME /etc/os-release)"
    sudo tee /etc/apt/sources.list.d/adoptium.list << EOM
    deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $VERSION_CODENAME main
    EOM
  3. 패키지 목록을 업데이트합니다.
    sudo apt update -y
  4. Temurin을 설치합니다.
    sudo apt install -y temurin-17-jdk
  5. 설치를 확인합니다.
    java -version

SLES

  1. SLES의 주 버전을 확인합니다.
    eval "$(grep VERSION_ID /etc/os-release)"
    OLD_IFS=$IFS
    IFS='.'
    read -ra split_version <<< "$VERSION_ID"
    IFS=$OLD_IFS
    MAJOR_VERSION=$split_version
  2. 공개 저장소 GPG 키를 설치합니다.
    sudo mkdir -p /etc/zypp/keyrings
    sudo wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public |
      sudo tee /etc/zypp/keyrings/adoptium.asc
    sudo rpm --import /etc/zypp/keyrings/adoptium.asc
  3. SLES 버전을 확인하고 Adoptium 저장소를 등록합니다.
    sudo zypper ar -f "https://packages.adoptium.net/artifactory/rpm/sles/$MAJOR_VERSION/$(uname -m)" adoptium
  4. 패키지 목록을 업데이트합니다.
    sudo zypper update -y
  5. Temurin을 설치합니다.
    sudo zypper install -y temurin-17-jdk
  6. 설치를 확인합니다.
    java -version

Windows

Temurin을 설치하려면 다음 명령어를 사용하여 PowerShell 버전 3.0 이상을 관리자로 실행하세요.

  1. Temurin을 다운로드합니다. 아래의 안내에 나온 Invoke-WebRequest 명령어에는 PowerShell 3.0 이상이 필요합니다.
    $JdkVersion = 17
    $JdkUrl = "https://api.adoptium.net/v3/binary/latest/$JdkVersion/ga/windows/x64/jdk/hotspot/normal/eclipse?project=jdk"
    $JdkExtractionPath = "C:\temurin-$JdkVersion-jdk"
    $JdkDownload = "$JdkExtractionPath.zip"
    [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls12'
    Invoke-WebRequest -Uri $JdkUrl -OutFile $JdkDownload
    Expand-Archive $JdkDownload -DestinationPath $JdkExtractionPath -Force
  2. JAVA_HOMEPath 변수를 설정합니다.
    pushd $JdkExtractionPath
    $JdkPath = (Get-ChildItem).FullName
    popd
    [System.Environment]::SetEnvironmentVariable('JAVA_HOME', $JdkPath, 'Machine')
    
          
  3. (Optional) Refresh your session's `$env:Path` value. Otherwise, start a new session:
    $MachinePath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
    $UserPath = [System.Environment]::GetEnvironmentVariable('Path', 'User')
    $env:Path = "$MachinePath;$UserPath"
  4. 설치를 확인합니다.
    java -version

빌드 자동화 도구 설치

Apache Maven, Gradle, SBT는 여러 플랫폼에서 Java 앱 종속 항목을 빠르고 일관적으로 빌드할 수 있는 패키지 관리 옵션입니다.

gcloud CLI 설치

gcloud CLI는 Google Cloud용 도구 모음입니다. 여기에는 명령줄에서 Compute Engine, Cloud Storage, BigQuery, 기타 제품 및 서비스에 액세스하기 위해 사용할 수 있는 gcloud, bq가 포함됩니다. 이러한 도구는 대화식으로 또는 자동화 스크립트를 사용해서 실행할 수 있습니다.

(선택사항) IDE 또는 편집기 설치

다음은 자바 앱을 개발하는 데 사용되는 인기 있는 편집기 중 일부입니다. 순서는 무작위입니다.

이러한 편집기(경우에 따라 플러그인 포함)는 구문 강조 표시, intelli-sense, 코드 완성부터 완전 통합 디버깅 기능까지 모든 기능을 제공합니다.

(선택사항) IDE 플러그인 설치

편집기 내에서 유용한 기능에 액세스하려면 다음 플러그인을 확인하세요.

Java용 Cloud 클라이언트 라이브러리 설치

Java용 Cloud 클라이언트 라이브러리를 사용하여 Datastore 및 Cloud Storage와 같은 Google Cloud서비스와 통합합니다. 다음 예시에 표시된 것처럼 BigQuery와 같은 개별 API를 위한 패키지를 설치할 수 있습니다.

If you are using Maven, add the following to your pom.xml file. For more information about BOMs, see The Google Cloud Platform Libraries BOM.

<!--  Using libraries-bom to manage versions.
See https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>26.62.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-bigquery</artifactId>
  </dependency>
</dependencies>

If you are using Gradle, add the following to your dependencies:

implementation platform('com.google.cloud:libraries-bom:26.45.0')

implementation 'com.google.cloud:google-cloud-bigquery'

If you are using sbt, add the following to your dependencies:

libraryDependencies += "com.google.cloud" % "google-cloud-bigquery" % "2.42.2"

If you're using Visual Studio Code or IntelliJ, you can add client libraries to your project using the following IDE plugins:

The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.

인증 설정

클라이언트 라이브러리를 실행하려면 먼저 인증을 설정해야 합니다.

If you're using a local shell, then create local authentication credentials for your user account:

gcloud auth application-default login

You don't need to do this if you're using Cloud Shell.

If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

자세한 내용은 클라이언트 라이브러리 사용을 위한 인증을 참조하세요.

클라이언트 라이브러리 사용

// Imports the Google Cloud client library
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;
import com.google.cloud.bigquery.DatasetInfo;

public class QuickstartSample {
  public static void main(String... args) throws Exception {
    // Instantiate a client. If you don't specify credentials when constructing a client, the
    // client library will look for credentials in the environment, such as the
    // GOOGLE_APPLICATION_CREDENTIALS environment variable.
    BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

    // The name for the new dataset
    String datasetName = "my_new_dataset";

    // Prepares a new dataset
    Dataset dataset = null;
    DatasetInfo datasetInfo = DatasetInfo.newBuilder(datasetName).build();

    // Creates the dataset
    dataset = bigquery.create(datasetInfo);

    System.out.printf("Dataset %s created.%n", dataset.getDatasetId().getDataset());
  }
}

클라이언트 라이브러리의 엔드포인트 구성

리전 엔드포인트를 지원하는 API를 사용하는 경우 엔드포인트를 사용하여 요청을 보낼 서버를 구성하세요. 예를 들어 Google.Cloud.Dataproc.V1 API를 사용하면 클라이언트 엔드포인트를 구성할 수 있습니다. Dataproc 리전 엔드포인트에 관해 여기에서 자세히 알아볼 수 있습니다. 다음 예시에서 MY-PROJECT을 프로젝트 이름으로, us-central1을 구성에 적합한 리전으로 바꿔야 합니다.

ClusterControllerSettings settings =
     ClusterControllerSettings.newBuilder()
        .setEndpoint("us-central1-dataproc.googleapis.com:443")
        .build();
 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create(settings)) {
   String projectId = "MY-PROJECT";
   String region = "us-central1";
   Cluster cluster = Cluster.newBuilder().build();
 }

다음 단계

(선택사항) App Engine용 Maven 또는 Gradle 플러그인 사용

App Engine 표준 또는 가변형 환경에서 개발하는 경우 앱을 직접 개발, 테스트, 배포하는 데 편리한 기능을 제공하는 Apache Maven 및 Gradle 빌드 도구 플러그인을 사용할 수 있습니다.

App Engine 표준 환경의 경우

App Engine 표준 환경에서는 Maven App Engine 플러그인 또는 Gradle 플러그인을 사용합니다.

App Engine 가변형 환경의 경우

App Engine 가변형 환경에는 Maven App Engine 플러그인 또는 Gradle 플러그인을 사용합니다.

추가 리소스