

 AWS Cloud9 는 더 이상 신규 고객이 사용할 수 없습니다. AWS Cloud9 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. [자세히 알아보기](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Java 개발을 위한 향상된 지원
<a name="enhanced-java"></a>

AWS Cloud9 는 Java로 작업할 때 개발 환경을 개선하기 위해 향상된 언어 지원을 제공합니다. 주요 생산성 기능에는 코드 완성, 오류에 대한 linting, 코드 렌즈, 디버깅 옵션(예: 중단점 및 단계별 실행)이 포함됩니다.

**중요**  
향상된 생산성 기능은 Amazon EC2 인스턴스에 연결된 AWS Cloud9 개발 환경에서만 사용할 수 있습니다.  
또한 Java에 대한 향상된 언어 지원을 사용할 때 최적의 IDE 환경을 보장하기 위해 AWS Cloud9 환경을 지원하는 Amazon EC2 컴퓨팅 인스턴스에는 **2GiB** 이상의 메모리가 필요합니다. 가 EC2 컴퓨팅 인스턴스에 RAM이 충분하지 않음을 AWS Cloud9 감지하면 Java에 대한 향상된 기능을 활성화할 수 있는 옵션이 제공되지 않습니다.

## 향상된 Java 지원 활성화 및 사용자 지정
<a name="activating-java-support"></a>

다음 조건이 충족되면 Java에 대한 향상된 지원을 활성화하는 옵션이 자동으로 표시됩니다.
+  AWS Cloud9 환경이 메모리가 2GiB 이상인 Amazon EC2 인스턴스에 연결되어 있습니다. GiB 
+ Java 개발과 연결된 파일로 작업하고 있습니다.는 `*.java`, `*.gradle` (Gradle 빌드 도구와 연결됨) 및 `pom.xml` (Apache Maven 빌드 도구와 연결됨) 파일 이름과 확장명을 AWS Cloud9 확인합니다.
+ 2**020년 12월 11**일 이후에 생성된 AWS Cloud9 환경에서 작업하고 있습니다. 현재 이 날짜 이전에 생성된 개발 환경에서는 Java 생산성 기능을 사용할 수 없습니다.

이러한 조건이 충족되면 Java 코딩 및 디버깅을 위한 추가 생산성 기능을 활성화할 것인지 묻는 대화 상자가 표시됩니다. **활성화(Activate)**를 선택하면 IDE의 기능을 사용할 수 있습니다.

![\[코드 완성\]](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/working_with_java_rework.png)


**참고**  
 AWS Cloud9 환경을 생성할 때 시작되는 Amazon EC2 인스턴스에는 *Amazon Coretto 11*이 이미 설치되어 있습니다. Amazon Coretto는 무료로 사용할 수 있는 Open Java Development Kit(OpenJDK)의 프로덕션용 멀티플랫폼 배포판입니다. 즉 AWS Cloud9 out-of-the-box Java 애플리케이션 개발 및 실행을 시작할 수 있습니다.

 AWS Cloud9 인터페이스를 사용하여 향상된 언어 및 디버깅 지원을 수동으로 활성화 및 비활성화할 수도 있습니다. **기본 설정(Preferences)**, **Java 지원(Java Support)**, **향상된 Java 지원(Enhanced Java Support)**을 선택합니다.

![\[향상된 Java 지원 수동으로 활성화 및 비활성화\]](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/activate_java_extensions_update.png)


의 Java 개발에 대한 향상된 지원 AWS Cloud9 은 IDE의 두 가지 확장으로 제공됩니다.
+ Red Hat의 Java(TM) 언어 지원
+ Java용 디버거

 AWS Cloud9 인터페이스를 사용하면 이러한 익스텐션의 성능을 사용자 지정하는 다양한 설정에 액세스할 수 있습니다. 확장 설정을 변경하려면 **기본 설정(Preferences)**, **Java 지원(Java Support)**을 선택합니다.

이러한 설정에 대한 자세한 내용은 확장의 GitHub 리포지토리에서 설치된 버전의 ReadMe 페이지를 참조하세요.
+ [Red Hat의 Java(TM) 언어 지원](https://github.com/redhat-developer/vscode-java/tree/v1.8.0)
+ [Java용 디버거](https://github.com/microsoft/vscode-java-debug/tree/0.40.1)

## 기능 하이라이트
<a name="key-java-features"></a>

향상된 Java 지원을 활성화한 후 다양한 생산성 향상 기능을 사용할 수 있습니다.

** 코드 완성**

코드 완성 기능을 통해 편집기는 입력하는 코드를 기반으로 컨텍스트 인식 제안을 제공합니다. 예를 들어 객체 이름 뒤에 점(".") 연산자를 입력하면 편집기에 해당 객체에 사용할 수 있는 메서드나 속성이 표시됩니다.

![\[코드 완성\]](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/code-complete-java.png)


**코드 렌즈**

코드 렌즈를 사용하면 소스 코드에서 직접 컨텍스트별 작업에 액세스할 수 있습니다. Java 개발의 경우 코드 렌즈는 특정 메서드를 실행하고 디버그할 수 있도록 하여 단위 테스트를 용이하게 합니다.

![\[코드 렌즈 액세스\]](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/context-specific-actions.png)


**코드 linting**

코드 linting은 코드를 빌드하기도 전에 편집기가 코드의 잠재적 오류를 강조 표시하는 방법을 설명합니다. 예를 들어, linting 도구는 초기화되지 않은 변수를 사용하려고 하거나 다른 유형을 예상하는 변수에 값을 할당하려고 하면 호출합니다.

![\[코드 빌드 전에 린팅으로 오류 강조 표시\]](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/linting.png)


**디버깅 옵션**

중단점과 조사식을 구현할 수 있습니다. 소스 코드에서 중단점을 설정하고 디버거 창을 표시하여 관련 조건을 정의합니다.

![\[디버깅 옵션\]](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/debugging_options.png)


**구성 파일을 사용하여 디버깅**

또한 AWS Cloud9 이 `launch.json` 및 `tasks.json` 구성 파일을 통해 지원하는 시작 구성 및 작업을 사용하여 디버깅 구성을 제어할 수도 있습니다. 시작 구성의 예와 사용 방법은 [Java 디버그 구성](https://github.com/microsoft/vscode-java-debug/blob/main/Configuration.md)을 참조하세요.

**Java 명령**

**Ctrl\$1** 또는 **F1**을 눌러 AWS Cloud9 명령 패널에서 명령을 실행할 수 있습니다. 그런 다음 "java"를 입력하여 관련 명령을 필터링합니다.

![\[사용 가능한 Java 명령 나열\]](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/java_commands.png)


**빠른 수정 사항**

빠른 수정을 통해 누락된 요소에 대한 스텁을 생성하여 선언되지 않은 변수 또는 정의되지 않은 메서드를 사용하여 발생하는 오류를 해결할 수 있습니다.

![\[빠른 수정 구현\]](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/quick_fix_java.png)


**리팩터링**

리팩터링을 동작을 변경하지 않고 코드를 재구성할 수 있습니다. 가져오기 구성 또는 생성자 생성과 같은 옵션에 액세스하려면 항목에 대한 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 **리팩터링(Refactoring)**을 선택합니다.

![\[리팩터링 기능\]](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/refactoring_java.png)


**이름 바꾸기**

이름 바꾸기는 단일 작업으로 코드에 나타나는 모든 위치에서 선택한 변수, 함수 및 클래스의 이름을 쉽게 수정할 수 있는 리팩터링 기능입니다. 이름을 변경하려면 항목에 대한 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 **이름 바꾸기(Rename)**를 선택합니다. 이름 바꾸기는 코드에서 이름의 모든 인스턴스에 영향을 줍니다.

![\[클래스 이름 바꾸기\]](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/renaming_refactoring_java.png)


## Java 개발을 위한 선택적 도구
<a name="optional-tools"></a>

향상된 Java 지원을 제공하는 확장에는 Gradle 및 Maven 자동화 도구를 프로젝트 개발에 통합할 수 있는 기능이 포함됩니다. 이러한 도구는 AWS Cloud9 개발 환경에 사전 설치되어 있지 않습니다. 이러한 선택적 빌드 도구를 설치하고 사용하는 방법에 대한 자세한 내용은 다음 리소스를 참조하세요.
+ **Gradle**: [시작 가이드](https://docs.gradle.org/current/userguide/userguide.html)
+ **Maven**: [5분 동안 알아보는 Maven의 모든 것](https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html)

## Java 확장 관련 문제 탭
<a name="problems-panel"></a>

 AWS Cloud9 IDE의 문제 탭에서 환경 내 Java 프로젝트의 문제를 보고 해결할 수 있습니다 AWS Cloud9 . AWS Cloud9 IDE에서 문제 탭을 표시하려면 **View**(보기)를 선택하고 메뉴 모음에서 **Problems**(문제)를 선택합니다.

![\[문제 탭 열기\]](http://docs.aws.amazon.com/ko_kr/cloud9/latest/user-guide/images/problems-panel.png)


콘솔에서 **\$1** 아이콘을 선택하고 **Open Problems**(문제 열기)를 선택하여 문제 탭을 열 수도 있습니다. 탭에서 문제를 선택하면 해당 파일이 열리고 문제 세부 정보가 표시됩니다.