Java/ko

이 안내서는 독자 여러분께 자바 언어를 소개하고 젠투 리눅스에서 자바를 활용하는 방법을 설명합니다.

간단히 살펴보기
자바는 썬 마이크로시스템즈의 엔지니어가 개발한 프로그래밍 언어입니다. 언어는 객체지향이며 각각의 플랫폼에서 코드를 다시 컴파일하지 않아도 여러 플랫폼에서 동작하도록 설계했습니다. 비록 자바를 네이티브 프로그램처럼 컴파일 할 수 있지만 대부분의 자바 배포 프로그램은, 가비지 콜렉션과 같은 기능을 붙여가며 이식성을 부여할 수 있습니다. 플랫폼은 독립적으로 자바 컴파일러가 운영체제가 아닌 JRE(자바 런타임 환경)에서 실행할 "자바 바이트 코드"라고 하는 중간 형태의 자바 코드로 컴파일 할 수 있습니다.

자바 바이트 코드를 실행하려면 JRE(자바 런타임 환경)을 설치해야합니다. JRE는 핵심 라이브러리, 플랫폼과 별개로 동작하는 자바 가상 머신, 브라우저 플러그인, 등을 제공합니다. JDK(자바 개발 키트)는 바이트 코드 컴파일러 및 디버거와 같은 프로그래밍 도구를 추가합니다.

선택
젠투는 다양한 런타임 환경(JRE)과 개발 키트(JDK)를 제공합니다. 현재 선택할 수 있는 방안은 다음과 같습니다:

JRE/JDK 설치
기본 JDK를 설치하려면 를 실행하십시오. 또는 프로파일의 기본 JRE를 설치하려면 를 실행하십시오.

To install the profile's default JRE run:

어떤 썬 꾸러미를 담고 있는 JDK 와 JRE는 최종 사용자 사용 동의서 또는 EULA에 동의해야합니다. 어쩌다 (dlj-1.1 같은)라이선스가 (에 있는) 변수에 안나타나면 JDK/JRE를 설치할 수 없습니다. 로의 승인 라이선스 추가 방법은 포티지 핸드북의 라이선스편을 참고하십시오.

제한 라이선스의 번거로움을 피하려면 OpenJDK 프로젝트의 공개 Java 구현체인 icedtea-bin 설치를 고려하십시오.

가져오기에 제한이 있는 가상 머신 설치
일부 JDK와 JRE를 설정하려면 추가 설정 몇단계를 거쳐야합니다. 꾸러미를 이머지하는건 보통입니다. 추가 과정이 필요하다면 이빌드는 사용자에게 어디서 무얼 다운로드해야 할 지 지침을 제공합니다.

언급한 파일을 에 다운로드하고, 파일을 올바른 디렉터리에 넣었으면 다시 명령을 실행하여 JRE/JDK 설치를 시작할 수 있게 하십시오.

헤드리스 JRE 설정
때로는 Java의 모든 기능을 활용하는 목적으로 완전한 JRE 가 필요하지 않을 때도 있습니다. 서버에서 Java를 활용할 때는 GUI, 그래픽, 음성, 프린터 관련 기능을 사용하지 않습니다. 단순화한(때로는 헤드리스로 참조하는) JRE를 설치하려면 USE 플래그 3개의 선택을 해제하십시오.

Depending on the current Gentoo profile, this might already be the case. As usual, the USE flag settings that are applicable to a particular package can be checked by running in pretend mode:

간단히 살펴보기
젠투는 여러 JDK와 JRE를 어떤 기능상 중복 없이 설치할 수 있습니다.

도구를 루트 권한으로 실행하면, 시스템 영역 Java 가상 머신을 설정할 수 있습니다. 사용자는 사용자별 가상머신을 개별 설정할 목적으로 를 사용할 수 있습니다.

기본 가상 머신 설정
명령을 실행하면 시스템에 설치한 JRE와 JDK 목록이 나옵니다. 다음은 출력 예제입니다.

*은 현재 (시스템 가상머신 또는 사용자 가상머신을 선택했을 경우) 활성화한 JVM을 나타냅니다. 각괄호("[]")에 있는 이름은 각 가상머신의 처리 번호입니다. 처리 번호는 가상머신을 설정할 때 명령에 쓸 수 있습니다. 다음 텍스트에서는 시스템 가상머신을 설정하는 예제를 보여드립니다.

(원하는대로)직접 system VM을 설정하려면:

대안책: 관리 번호로 가상 머신 선택:

일반 사용자는 명령을 활용하십시오.

빌드 전용 가상머신
일부 가상머신은 끝물에 다다른 상태이거나 보안 취약성이 있어 빌드 전용으로 플래그 표시했습니다. 이 가상머신은 젠투 실행 관리자를 통해 프로그램 실행을 목적으로 자동으로 활용하지 않지만(run-java-tool 스크립트는 가상머신을 전환하는 도구로 설계했습니다), 젠투 빌드 환경에서 어떤 꾸러미 빌드에 필요할 때 여전히 사용할 수 있게 했습니다. 이들 가상 머신 설정은 시스템 가상머신으로든 사용자 가상머신으로든 젠투 실행 관리 스크립트에서 사용하지 않는 것처럼 실행 파일을 구동할 때 실행할 가상머신으로 사용하지 말길 바랍니다.

우선 빌드 가상머신
Java 꾸러미를 머지하는 동안 빌드에 사용하는 가상 머신은 현재 시스템 가상머신과 다르게 설정할 때도 있습니다.

머지 작업을 수행할 때 가상 머신 전환이 필요한 경우는, 예를 들면 system-vm이 1.6 인데 머지할 꾸러미에서 가상머신 1.5 를 필요로 할 때입니다. 머징을 수행할 때 시스템 설정은 멀쩡하게 남겨두고 가상머신 1.5를 선택하여 활용합니다.

어떤 가상머신을 사용할지 언제 전환할지 정의하려면 아키텍처별 default/supported VMs 목록을 만듭니다. 이 목록은 파일에서 찾을 수 있습니다.

이 기본값은 (시스템 가상머신을 선택했어도) 머징을 수행할때 어떤 가상머신을 사용할지 완벽하게 관리할 목적으로 에 덮어쓸 수 있습니다.

sun-jdk를 항상 활용하려면:

또는 분명하게 가상머신 1.4 또는 1.3이 분명하게 필요한 경우를 빼고, 어디서든 항상 sun-jdk-1.5를 사용하려면:

또는 가상머신 1.3을 요청하는 상황에서 가 필요하고 ibm-jdk-bin으로 돌아가려는, 다른 버전과 다른 제공 회사의 가상 머신을 사용한다면:

컴파일러
소스코드를 빌드할 때 표즌 자바 컴파일러는 JDK에 딸려오는 를 사용합니다. 빌드시 VM을 설정할 때 어던 컴파일러를 사용할지 설정할 수도 있습니다. 근본적으로 사용할 컴파일러가 무엇인지에 대한 속성 목록을 에 정의했습니다.

일부 컴파일러는 모든 과   인자를 지원하지 않습니다. 따라서 목록의 각 컴파일러에서 원하는 / 을 지원하는지 확인하십시오. javac는 모든 경우에 동작하므로 적당한 컴파일러가 없으면 이걸 대신 사용하면 됩니다.

각 컴파일러에 대한 자세한 내용은 아래에 있습니다:

기본 CLASSPATH 값 설정
can also be used to set a system-wide default CLASSPATH, as well a user-specific default CLASSPATH.

우선 CLASSPATH 변수에 넣을 수 있는 시스템의 Java 라이브러리를 조회하십시오. 아래는 출력 예제입니다:

다시 말씀드리지만 각괄호([])에 있는 이름은 에 전달할 ID 입니다. 예제는 아래에 있습니다:

로그아웃하고 다시 로그인하거나 를 입력하여 환경을 업데이트하십시오.

사용자별 설정시 명령으로 를 만들고 쉘 프로파일로 source 명령을 처리합니다.

시스템 전체 또는 사용자별 기본 클래스 경로에서 다음과 같이 쉘 프로파일에 추가하려 할 때를 가정해보겠습니다. 다음 처럼 해보십시오:

플러그인 설치
USE 플래그를 설정하면 Java VM을 이머징할 때 웹 브라우저용 Java 플러그인도 설치할 수 있습니다.

웹 브라우저당 Java 플러그인을 하나 쓸 수 있긴 하지만, 포티지는 Java 플러그인을 여러개의 버전으로 설치할 수 있습니다. 다음 명령을 실행하여 사용할 수 있는 플러그인 목록을 확인해보세요:

이 예제에서 브라우저 플러그인으로 sun-jre-bin을 선택했습니다.

올바른 플러그인을 선택했는지 확인하십시오:

Java.com에서도 플러그인 설치 확인 링크가 있습니다. 게다가 모질라 기반 브라우저를 사용한다면 주소 표시줄에 를 입력하여 자바 플러그인을 확인할 수 있습니다.

multilib 시스템에 플러그인 설치하기
(예 AMD64에서)64비트 및 32비트 혼합 모드 multilib 시스템을 가동중이라면, 64비트 및 32비트 Java 플러그인을 둘 다 사용하십시오. 32비트 Java 프로그램을 사용해야 한다면 사용자는 64비트 웹 브라우저의 64비트 자체 플러그인을 사용하시는것이 좋습ㄴ다.

몇가지 64비트 브라우저 플러그인이 있습니다. 기본 JDK/JRE에 있는  와  에 브라우저 플러그인이 있습니다. USE 플래그를 활성화한 후 이 중 하나를 이머지하십시오.

32비트 브라우저에서 32비트 플러그인을 사용하려면,  USE 플래그를 활성화 한 상태에서  꾸러미를 이머지해야합니다.

다음 어떤 플러그인이 있는지 확인하십시오:

이제 브라우저에 쓸 올바른 플러그인을 선택하십시오:

올바른 플러그인을 선택했는지 확인하십시오:

USE 플래그 설정
For more information regarding USE flags, refer to the USE flags chapter from the Gentoo Handbook.

USE flags

 * 플래그는 여러가지 프로그램에 Java 언어 지원을 추가합니다
 * 플래그는 모질라 유사 브라우저(파이어폭스) 지원을 추가합니다. 모질라 유사 브라우저에서 Java 애플릿을 가동할 때 필요합니다.
 * 플래그는 꾸러미 소스코드 zip 파일을 설치합니다. 예전에는 사용중인 라이브러리의 소스 코드를 IDE에 '붙일' 때 사용했습니다(하지만 최근에는 maven이나 gradle로 끌어다 씁니다. 역자 주.).
 * 플래그는 Java 암호화 엔진 지원 기능을 추가합니다
 * Java 꾸러미에서,  플래그는 javadoc을 이용하 API  문서를 빌드합니다.

Following USE flags go in JAVA_PKG_IUSE.
 * The flag installs a zip of the source code of a package. This is traditionally used for IDEs to 'attach' source to the libraries that are being use;
 * For Java packages, the flag will build API documentation using javadoc.

추가 참조

 * The Java User Guide in the Java project

외부 자료

 * gentoo-java, gentoo-user, gentoo-dev 메일링 리스트 아카이브
 * Wikipedia의 Java 항목
 * 젠투 포럼의 Java 7 과 icedtea 준비en
 * 젠투 포럼의 Java 7 과 icedtea 준비en

더 많은 자료는 오프라인에서 찾아볼 수 있습니다:
 * man java-config
 * java-config --help



이 문서와 관련한 제안이나 질문이 있으면 젠투 Java 팀의 전자메일 주소로 문의바랍니다.