OpenRTM-aist (Java버전) 0.4계열 인스톨

여기에서는 OpenRTM-aist(Java버전)의 UNIX에의 인스톨 방법을 설명합니다. ※이후의 설명은 편의상 OpenRTM-aist-0.4.0에 대해서 쓰여져 있습니다. OpenRTM-aist-0.4.x에 대해서도 같은 순서로 인스톨 할 수 있습니다.

UNIX/Linux에서의 인스톨

동작 조건

인스톨은 다음의 3개의 요건이 갖추어지는 것으로 완료됩니다. 본 페이지에서는 이것들을 이하의 순서로 설명하는 것과 동시에, 인스톨 후의 동작 확인의 방법 나 RTC의 샘플 컴포넌트의 소개를 하고 있습니다.

Java의 인스톨

OpenRTM-aist-Java-0.4는 J2SE5.0(JDK5)상에서 동작합니다. 대상의 플랫폼용의 J2SE에 대해서는 아래의 사이트 등을 참고해 주십시오.

각 디스트리뷰션에 대해 JDK5의 인스톨 방법을 JDK 인스톨을 위한 힌트에 정리하였습니다. 참고로 해주십시오. 덧붙여 Java의 인스톨은 슈퍼 유저로서 실시해 주십시오.


※ Fedora Core에의 Java의 인스톨에 대해서는 주의가 필요합니다:

 → ''FAQ:'' Java를 인스톨 할 때의 FedoraCore로의 대응에 대해

 → ''FAQ:'' Q. Fedora Core상에서 RtcLink의 NameService View에 에러가 나는 경우

인스톨의 확인

터미널을 기동해,

 $ java -version
라고 입력합니다. 인스톨 한 Java의 버전이 표시되면 인스톨은 완료입니다.

 java version "1.5.0_15"
 Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
 Java HotSpot(TM) Client VM (build 1.5.0_15-b04, mixed mode, sharing)


OpenRTM-aist-Java-0.4의 인스톨

Zip파일의 다운로드와 압축 해제

여기로부터 「빌드 완료된 jar 파일 및 샘플」(zip 형식)을 다운로드해 zip 파일을 임의의 폴더에 압축을 해제합니다. 압축해제 하는 폴더는 임의의 폴더로 해도 좋지만 디렉토리 구조는 변경하지 마십시오. ※ 또, 이 임의의 폴더에 포함되는 「jar」폴더에의 패스는 다음에 받아들이는 시스템 환경 변수 RTM_JAVA_ROOT에 설정하지 않으면 안됩니다.

※어떠한 사정으로, 압축 해제 후의 폴더 구조를 자유롭게 배치·선택으로 하고 싶은 경우는여기를 참조해 주십시오.


참고:

 → ''FAQ:'' Q. 임의의 폴더에 클래스 패스를 설정해 Ant 빌드를 실시하는 방법은?


환경 변수의 설정

환경 변수의 설정을 실시합니다. 로그인 셸이 bash의 경우는 .bashrc를 csh의 경우는 .cshrc를 등 적당 설정한 파일을 선택해 다음과 같은 설정을 기술해 둡니다. 또는, 개개의 유저에 대해서는 아니고 시스템 와이드로 설정을 실시하고 싶은 경우에는, 설정 파일로서 /etc/profile 등을 선택하는 방법도 있습니다※.
변수명
RTM_JAVA_ROOT
변수치
압축 해제 디렉토리 이하에 포함되는 「jar」디렉토리※※까지의 베이스 경로(「jar」디렉토리의 % 부모 디렉토리 %에의 전체 경로)


예를 들면, 로그인 셸이 bash의 경우로 OpenRTM-aist-Java를 /usr/lib 이하에 해제했을 경우를 생각했을 때, .bashrc(혹은 /etc/profile※)의 마지막에 다음의 문장을 추가합니다.

 export RTM_JAVA_ROOT=/usr/lib/OpenRTM-aist/0.4
이 설정 파일의 편집을 완료한 시점에서,
 > source ~/.bashrc
를 하거나(.bashrc에 환경 변수를 설정했을 경우) 시스템을 재기동합니다.


※환경 변수 RTM_JAVA_ROOT를 .bashrc(bash의 경우)등의 유저 설정으로 했는지 혹은 /etc/profile(bash의 경우) 등에 시스템 와이드로 설정했는지에 의해 GUI 툴인 Eclipse(RtcLink, RtcTemplate)의 기동 방법이 바뀝니다. → Eclipse의 기동 방법 를 참조

※※압축 해제시에는 「jar」디렉토리는 클래스 라이브러리 「OpenRTM-aist-0.4.1. jar」와「commons-cli-1.1.jar」의 두 개의 파일을 포함한 상태로 「OpenRTM-aist\0.4」의 바로 아래에 있습니다. 따라서 디렉토리 구조를 바꾸지 않으면, 환경 변수 RTM_JAVA_ROOT는 반드시 그 값의 마지막에 「OpenRTM-aist\0.4」를 갖는다고 하는 형태가 됩니다.


인스톨의 확인

인스톨시에 배치한 디렉토리 이하에 RT컴포넌트의 샘플이 준비되어 있습니다. 「examples」디렉토리내에 있는 샘플을 사용하고, 인스톨을 확인합니다. 실행하려면 터미널을 기동해, 커런트를 「examples」디렉토리로 옮기고 나서, 해당하는 셸 스크립트를 기동해 주십시오.
- 인스톨 확인 순서
1. NameServer의 기동:「start-orbd.sh」를 실행
2. ConsoleIn 샘플의 기동:「ConsoleIn.sh」를 실행
3. ConsoleOut 샘플의 기동:「ConsoleOut.sh」를 실행
4. RT컴포넌트의 접속:「Connector.sh」를 실행
5. ConsoleIn측의 윈도우에
 Please input number:
 라는 prompt가 나타나므로, 거기에 숫자를 입력합니다.
6. 그 숫자가 ConsoleOut측의 윈도우에 표시되면 정상적으로 인스톨된 것을 확인할 수 있습니다.



OpenRTM-javaComfirm.png

Windows에서의 인스톨

Windows시스템에서의 인스톨

대응 OS 및 배포 버전

 OpenRTM-aist-0.4 Java는 이하의 OS에서 동작하는 것이 확인되고 있습니다.

  • Windows XP Professional

    동작 조건

 OpenRTM-aist-Java-0.4는 J2SE5.0(JDK5)상에서 동작합니다. 이하의 사이트 등에서 대상의 플랫폼용 J2SE를 다운로드해 주십시오.

 다운로드한 파일을 실행하면 인스톨이 시작됩니다. 도중 라이센스 허가나 인스톨 할 폴더를 선택하여 사용환경에 맞추어 설정해 주십시오.


java_install0.png
Java의 인스톨(1)



java_install1.png
Java의 인스톨(2)



java_install2.png
Java의 인스톨(3)



java_install3.png
Java의 인스톨(4)


인스톨의 확인

커멘드 프롬프트 화면을 표시(「시작」-「실행」)하여

 >java -version

라고 입력합니다. 인스톨 한 Java의 버전이 표시되면 정상적으로 인스톨 된 것 입니다.


java_envsetting2.png
인스톨의 확인(Windows)


 OpenRTM-aist-Java-0.4의 인스톨을 간단히 하기 위해, 인스톨러가 준비되어 있습니다. 통상 인스톨에서는 인스톨러를 사용하는 것이 편리합니다. 또한, 인스톨의 자유도를 확보하기 위해 필요한 OpenRTM-aist-Java-0.4 라이브러리 컴포넌트를 정리한 Zip파일도 준비하고 있습니다. 유저 독자의 배포・조합으로 인스톨하고 싶은 경우 등이 있으면 이것을 사용해 인스톨 하는 것도 가능합니다.

인스톨러를 사용한 인스톨

 WindowsXP용의 OpenRTM-aist-0.4 Java 인스톨러가 준비되어 있기 때문에 여기에서 다운로드하여 실행합니다. 실행후는 인스톨러에 따라가는 것 만으로 인스톨이 종료합니다.

 ⇒ 인스톨 종료후는 계속해서 인스톨의 확인으로 진행해 주십시오.


참고:

Zip파일부터의 인스톨

  • Zip파일의 다운로드와 압축 해제
     여기에서 빌드 완료된 Jar파일(zip형식)을 다운로드하여 zip파일을 임의의 폴더에 압축을 해제합니다. 해제하는 폴더는 임의로도 괜찮습니다만 폴더의 구조는 변경하지 마십시오※. 또한, 이 폴더에 포함된 「jar」폴더에의 경로는 다음에 받아들이는 시스템 환경 변수 RTM_JAVA_ROOT에 설정해야 합니다.
※ 어떠한 사정으로 압축 해제후의 폴더 구조를 자유롭게 배치・선택하고 싶은 경우는 여기를 참조해 주십시오.

참고:


- 시스템 환경 변수의 설정  시스템 환경 변수의 설정을 합니다. 「시작」메뉴에서 「제어판」-「시스템」을 선택합니다. 「속성」화면에서 「상세설정」탭을 선택해 화면 아래에 「환경」버튼을 클릭합니다.


SystemProperty.png
PATH의 설정(시스템 프로퍼티)



EnvVariable.png
PATH의 설정(환경 변수)


화면 아래의 「시스템 환경변수」에서 「신규」버튼을 클릭하고 「새로운 시스템 변수」 화면에서 이하의 내용을 입력합니다.
변수명
RTM_JAVA_ROOT
변수값
압축 해제 폴더 이하에 포함되는 「jar」폴더※까지의 베이스 경로(「jar」폴더의 %부모 폴더%에의 전체 경로)

 상기의 입력후, 「OK」버튼을 클릭하고 「제어판」화면을 닫습니다.
※ 압축 해제 시에는 「jar」폴더는 클래스 라이브러리 「OpenRTM-aist-0.4.1.jar」와 「commons-cli-1.1.jar」의 두개 파일을 포함한 상태로 「OpenRTM-aist\0.4」의 아래에 있습니다. 따라서 폴더 구조를 변경하지 않으면 시스템 환경 변수 RTM_JAVA_ROOT은 반드시 그 값의 마지막에 「OpenRTM-aist\0.4」를 갖는 형태가 됩니다.

 또한, 현재 유저에 대해서만 인스톨 하는 경우는 상기 설정을 「시스템 환경 변수」 혹은 「유저 환경 변수」에 실시하면 특권을 갖지 못하는 유저(제한된 유저)로서 인스톨하는 경우에는 이것을 이용합니다. 즉, 제한 유저가 인스톨 하는 경우에는 「시스템 환경 변수」의 설정을 추가 변경할 수 없기 때문에 상기 설정을 「유저 환경 변수」에 대해서 실시하게 됩니다.

인스톨의 확인

 인스톨 시에 배치한 폴더 아래에 RT컴포넌트의 샘플이 준비되어 있습니다. 「Examples」폴더 내에 있는 샘플을 사용하여 인스톨을 확인합니다. 실행에는 해당하는 파일을 더블 클릭해 주십시오. 인스톨러를 사용해 인스톨한 경우, 첨부 샘플을 시작 메뉴에서부터 실행할 수 있습니다.
  • 인스톨 확인 순서
    1. NameServer의 기동:「start-orbd.vbs」을 실행
    2. ConsoleIn샘플의 기동:「ConsoleIn.bat」을 실행
    3. ConsoleOut샘플의 기동:「ConsoleOut.bat」을 실행



java_sample0.png
샘플 실행 예(ConsoleIn)



java_sample1.png
샘플 실행 예(ConsoleOut)


4. RT컴포넌트의 접속:「Connector.bat」를 실행
5. ConsoleIn측의 윈도우에
 Please input number:
 라는 프롬프트가 나오면 거기에 숫자를 입력합니다.
6. 그 문자가 ConsoleOut측의 윈도우에 표시되면 정상적으로 인스톨 된 것을 확인할 수 있습니다.


UNIX/Linux판 Java-0.4 샘플 컴포넌트

OpenRTM-aist-Java-0.4의 샘플에 대해

 본장에서는 OpenRTM-aist-Java-0.4에 부속의 샘플에 대해 설명합니다. 샘플을 테스트하는 경우는 각 샘플 컴포넌트를 기동하기 전에 start-orbd.sh를 실행해 네임 서비스를 기동해 주십시오. start-orbd.sh를 실행하려면 터미널을 기동해, 커런트를「examples」디렉토리로 옮기고 나서, 다음과 같이 하여 기동합니다.

 $ ./start-orbd.sh
덧붙여 본장에서는 RtcLink가 인스톨 된 환경인 것을 가정하여 설명하고 있습니다. RtcLink의 인스톨에 대한 자세한 것은 RtcLink 인스톨 을 참조해 주십시오(일부의 샘플은 RtcLink가 없어도 동작합니다).
※이미 RtcLink를 인스톨 하고 있다면

 새로운 OpenRTM-aist-Java-0.4에서는 RtcLink 0.4.0은 사용할 수 없게 되었습니다. 이미, Eclipse상에 RtcLink 플러그 인을 인스톨 하고 있는 분은 OpenRTM-aist-Java-0.4를 사용하는 경우, 반드시 RtcLink도 0.4.1에 업데이트 해주십시오.

참고:

 → ''FAQ:'' Q. RtcLink상에서 RTC의 포트가 표시되지 않을 경우(Java버전)

SimpleIO

 DataInPort, DataOutPort의 사용 방법을 나타낸 샘플입니다. ConsoleIn.sh와 ConsoleOut.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다. Port간을 접속하면 ConsoleIn측에서 입력한 숫자가, ConsoleOut 측에 표시됩니다. Port간은 RtcLink를 이용하는 것 외에 Connector.sh를 실행하는 것으로 접속할 수 있습니다.


java_simpleio0.png
SimpleIO 실행예(RtcLink 접속 화면)



UnixJavaConsoleIn.png
SimpleIO 실행예(ConsoleIn)



UnixJavaCosoleOut.png
SimpleIO 실행예(ConsoleOut)


사용법

 SimpleIO의 샘플은 ConsoleIn로 입력된 숫자를 데이터 포트로부터 ConsoleOut에 보내고, ConsoleOut 측에도 같은 숫자를 표시시키는 샘플입니다. ConsoleIn의 화면에서 숫자를 입력해 주십시오. 그렇다면 ConsoleOut에서 입력한 숫자가 출력됩니다.
- 방법 1:Connector.sh를 사용하는 방법(※이 경우, RtcLink는 불필요)
    • ConsoleIn와 ConsoleOut의 양컴포넌트를 기동합니다.
    • Connector.sh를 실행합니다.
    • ConsoleIn의 화면에 「Please input number:」라고 메세지가 나오면 숫자를 입력합니다.
    • ConsoleOut의 화면에 그 숫자가 표시됩니다.
  • 방법 2:RtcLink를 사용하는 방법
    • RtcLink를 기동하고 SystemEditor을 열기.→RtcLink의 사용 방법의 상세한 것은RtcLink 를 참조
    • ConsoleIn와 ConsoleOut의 양컴포넌트를 기동합니다.
    • RtcLink의 NameServiceView에 양컴포넌트가 나타나므로 그것들을 SystemEditor상에 드래그 합니다.
    • 양컴포넌트의 포트를 연결합니다.(윗 그림 SimpleIO 실행예를 참조)
    • 어느 쪽인가의 컴포넌트를 마우스 오른쪽 버튼을 클릭해 「All Activate」를 선택.
    • ConsoleIn의 화면에 「Please input number:」라고 메세지가 나오면 숫자를 입력합니다.
    • ConsoleOut의 화면에 그 숫자가 표시됩니다.


SeqIO

 DataInPort, DataOutPort의 사용 방법을 나타낸 샘플입니다. SeqIn.sh와 SeqOut.sh를 실행하는 것으로 샘플 컴포넌트가 기동해, GUI 화면이 표시됩니다. SeqIn, SeqOut 모두 이하의 형태의 DataPort를 가지고 있습니다. TimedShort, TimedLong, TimedFLoat, TimedDouble, TimedShortSeq, TimedLongSeq, TimedFLoatSeq, TimedDoubleSeq 각 Port의 출력은 랜덤으로 결정하고 있어 각 Port간을 접속하면 SeqOut측의 출력치, SeqIn측의 입력치가 각각의 GUI 화면에 표시됩니다.(Port간의 접속에는 RtcLink를 이용하십시오.)


java_seqio0.png
SeqIO 실행예(RtcLink 접속 화면)



java_seqio1.png
SeqIO 실행예(SeqIn)



java_seqio2.png
SeqIO 실행예(SeqOut)


사용법

 SeqIO의 샘플은 SeqOut로부터 연속해 출력되는 수치 데이터를 데이터 포트로부터 SeqIn에 보내, GUI상에 표시시키는 샘플입니다. SeqOut와 SeqIn의 대응하는 포트를 RtcLink상에서 접속해 주십시오. 양컴포넌트를 액티베이트 하면 SeqOut 뿐만이 아니라 SeqIn의 GUI상의 수치도 연속적으로 변화해, 데이터 포트의 입출력을 관찰할 수 있습니다.
  • 순서
    • RtcLink를 기동하고 SystemEditor을 열기.→RtcLink의 사용 방법의 상세한 것은 RtcLink 를 참조
    • SeqOut와 SeqIn의 양컴포넌트를 기동합니다.
    • RtcLink의 NameServiceView에 양컴포넌트가 나타나므로, 그것들을 SystemEditor상에 드래그 합니다.
    • 양컴포넌트의 대응 포트를 연결합니다.(윗 그림 SeqIO 실행예를 참조)
    • 어느 쪽인가의 컴포넌트를 마우스 오른쪽 버튼 클릭해, 「All Activate」를 선택.

SimpleService

 ServicePort의 사용 방법을 나타낸 샘플입니다. 이하에 나타내는 IDL를 사용해 서비스를 정의하고 있습니다.

 typedef sequence<string> EchoList;
 typedef sequence<float> ValueList;
 
 interface MyService
 {
   string echo(in string msg);
   EchoList get_echo_history();
   void set_value(in float value);
   float get_value();
   ValueList get_value_history();
 };

MyServiceConsumer.sh와 MyServiceProvider.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다. Consumer측 컴포넌트를 Activate 하면 콘솔에 이용 가능한 커멘드 리스트가 표시됩니다. 각 커멘드를 테스트해 보십시오.(Port간의 접속에는 RtcLink를 이용하십시오.)


java_simplesvc0.png
SimpleService 실행예(RtcLink 접속 화면)


UnixJavaMyServiceConsumer.png
SimpleService 실행예(MyServiceConsumer)



UnixJavaMyServiceProvider.png
SimpleService 실행예(MyServiceProvider)



사용법

 SimpleService는 MyServiceConsumer로부터 커멘드를 보내 MyServiceProvider로 그것을 처리하는 샘플입니다(※정확하게는, 커멘드의 해석은 Consumer측이며 Provider측의 함수를 호출하는 형태로 구현되고 있습니다). MyServiceConsumer와 MyServiceProvider의 대응하는 포트를 RtcLink상에서 접속해 주십시오. 양컴포넌트를 액티베이트 하면(Activate 하는 것은 Consumer측 컴포넌트만으로도 좋다) Consumer측 prompt에 커멘드 일람이 표시되므로 적당 커멘드를 입력해 주십시오. Provider측의 응답을 prompt상에서 관찰할 수 있습니다.
  • 순서
    • RtcLink를 기동하고 SystemEditor을 열기.→RtcLink의 사용 방법의 상세한 것은RtcLink 를 참조
    • MyServiceConsumer와 MyServiceProvider의 양컴포넌트를 기동합니다.
    • RtcLink의 NameServiceView에 양컴포넌트가 나타나므로 그것들을 SystemEditor상에 드래그 합니다.
    • 양컴포넌트의 대응 포트를 연결합니다.(윗 그림 SimpleService 실행예를 참조)
    • 어느 쪽인가의 컴포넌트를 마우스 오른쪽 버튼 클릭해, 「All Activate」를 선택.(이 경우는 Consumer측 컴포넌트를 Activate 하는 것만으로도 동작합니다.)
    • Consumer측 prompt에 커멘드를 입력.
      - 커멘드
    • echo <message>:임의의 <message>을 에코
    • set_value <value>:임의의 <value>을 Provider측에 세트
    • get_value:현재 Provider 측에 세트 되고 있는 값을 취득해 표시
    • get_echo_history:지금까지의 에코 메세지의 이력을 Provider측으로부터 취득
    • get_value_history:지금까지 세트 해 온 값의 이력을 Provider측으로부터 취득


ConfigSample

 RT컴포넌트의 컨피그레이션 세트의 사용 방법을 나타낸 샘플입니다. ConfigSample.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다. 컴포넌트가 정상적으로 기동되면 컨피그레이션 세트가 미리 설정된 상태로 되어 있습니다. RtcLink를 이용해 컨피그레이션 세트를 확인해 보십시오.


java_configsample0.png
ConfigSample 실행예



사용법

 RtcLink의 ConfigrationView로 선택, 설정한 ConfigrationSet에 따른 데이터 세트를 prompt상에 표시해, 끊임 없이 표시 갱신을 합니다.
  • 순서
    • RtcLink를 기동하고 SystemEditor을 열기.→RtcLink의 사용 방법의 상세한 것은 RtcLink 를 참조
    • ConfigSample 컴포넌트를 기동합니다.
    • RtcLink의 NameServiceView에 이 컴포넌트가 나타나므로 SystemEditor상에 드래그 합니다.

- 조작
    • RtcLink의 ConfigrationView로부터 적당한 ConfigrationSet(default, mode0, mode1)를 선택합니다.
    • 필요가 있으면, value를 변경합니다.
    • 「Apply」버튼을 누른다.



※ RtcLink상의 ConfigurationView로 mode0를 선택했을 경우, 본래 「일본어 테스트」라고 표기되는 부분이 글자가 깨져 버리는 일이 있습니다. 이 경우, examples/RTMExamples/ConfigSample에 있는 rtc.conf를 다음과 같이 편집해 주십시오.

 rtc.conf의 맨 마지막 줄
 example.ConfigSample.config_file: ./RTMExamples/ConfigSample/configsample.conf
 이라고 되어 있는 부분을 다음과 같이 수정합니다.
 example.ConfigSample.config_file: ./RTMExamples/ConfigSample/configsample.conf.euc

ConfigSample의 설정 파일 configsample.conf에는 이 그 밖에 문자 코드에 대응시키기 위해, configsample.conf.sjis와 configsample.conf.euc가 준비되어 있습니다.



ExtTrigger

 RT컴포넌트 외부로부터의 입력(이벤트)에 의해 처리를 실행하는 ExecutionContext의 샘플입니다. ExtConsoleIn.sh와 ExtConsoleOut.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다. 양컴포넌트를 기동 후, ExtConnector.sh를 실행해 양컴포넌트의 Port간을 접속해 주십시오.


UnixJavaExtConsoleIn.png
ExtTrigger 실행예(ExtConsoleIn)



UnixJavaExtConsoleOut.png
ExtTrigger 실행예(ExtConsoleOut)



UnixJavaExtConnector.png
ExtTrigger 실행예(ExtConnector)


Port간의 접속이 성공하면, ExtConnector를 실행한 콘솔에 어느 컴포넌트의 처리를 진행시키는지 선택하는 메뉴가 표시됩니다. 각 컴포넌트는 이 콘솔에 입력된 값에 따라 처리 1주기씩 진행시켜 나갑니다.



GUIIn

 GUI 화면을 가진 RT컴포넌트의 샘플입니다. GUIIn.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다.


java_guiin0.png
GUIIn 실행예(GUIIn)



GUIIn 실행예(RtcLink 접속 화면)


각 GUI 요소와 Port간의 관계는 이하대로입니다.
슬라이더(상)
TimedLong형 DataOutPort
텍스트·박스(중)
TimedString형 DataOutPort
스피너(하)
TimedDouble형 DataOutPort
각 Port는 해당하는 Port간을 접속 후, GUI 요소옆의 체크 박스를 ON로 하는 것으로 입력 데이터를 송신합니다.(Port간의 접속에는 RtcLink를 이용하십시오. 출력 데이터의 확인에는 SeqIn등의 다른 샘플을 이용하십시오.)

사용법

 GUIIn 컴포넌트의 GUI 화면에서 체크를 넣은 컨트롤(슬라이더, 스피너)을 조작하면, 그 값의 변화에 따라서 SeqIn의 GUI 화면상의 값도 변화합니다.
  • 순서
    • RtcLink를 기동하고 SystemEditor을 열기.→RtcLink의 사용 방법의 상세한 것은 RtcLink 를 참조
    • GUIIn와 SeqIn의 양컴포넌트를 기동합니다.
    • RtcLink의 NameServiceView에 이러한 컴포넌트가 나타나므로, 둘 모두 SystemEditor상에 드래그 합니다.
    • 양컴포넌트의 대응 포트를 연결합니다.(윗 그림 GUIIn 실행예를 참조)
    • 어느 쪽인가의 컴포넌트를 마우스 오른쪽 버튼 클릭해, 「All Activate」를 선택

Windows판 Java-0.4 샘플 컴포넌트

OpenRTM-aist-Java-0.4의 샘플에 대해

본장에서는 OpenRTM-aist-Java-0.4에 부속의 샘플에 대해 설명합니다. 샘플을 테스트하는 경우는 각 샘플 컴포넌트를 기동하기 전에 start-orbd.vbs를 실행해 네임 서비스를 기동해 주십시오. start-orbd.vbs를 실행하려면 , 해당하는 파일을 더블 클릭해 주십시오. 인스톨러를 이용해 인스톨 했을 경우는 start-orbd.vbs를 시작 메뉴로부터 실행할 수도 있습니다. 덧붙여 본장에서는 RtcLink가 인스톨 된 환경인 것을 가정해 설명하고 있습니다. RtcLink의 인스톨에 대한 자세한 것은 RtcLink 인스톨 을 참조해 주십시오(일부의 샘플은 RtcLink가 없어도 동작합니다).
※이미 RtcLink를 인스톨 하고 있다면

새로운 OpenRTM-aist-Java-0.4에서는 RtcLink 0.4.0은 사용할 수 없게 되었습니다. 이미, Eclipse상에 RtcLink 플러그 인을 인스톨 하고 있는 분은 OpenRTM-aist-Java-0.4를 사용하는 경우, 반드시 RtcLink도 0.4.1에 업데이트 해주십시오.

참고:

SimpleIO

DataInPort, DataOutPort의 사용 방법을 나타낸 샘플입니다. ConsoleIn.sh와 ConsoleOut.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다. Port간을 접속하면 ConsoleIn측에서 입력한 숫자가, ConsoleOut 측에 표시됩니다. Port간은 RtcLink를 이용하는 것 외에 Connector.bat를 실행하는 것으로 접속할 수 있습니다.


java_simpleio0.png
SimpleIO 실행예(RtcLink 접속 화면)



java_simpleio1_ja.png
SimpleIO 실행예(ConsoleIn)



java_simpleio2_ja.png
SimpleIO 실행예(ConsoleOut)


사용법

 SimpleIO의 샘플은 ConsoleIn로 입력된 숫자를 데이터 포트로부터 ConsoleOut에 보내고, ConsoleOut 측에도 같은 숫자를 표시시키는 샘플입니다. ConsoleIn의 화면에서 숫자를 입력해 주십시오. 그렇다면 ConsoleOut에서 입력한 숫자가 출력됩니다.
  • 방법 1:Connector.bat를 사용하는 방법(※이 경우, RtcLink는 불요)
    • ConsoleIn와 ConsoleOut의 양컴포넌트를 기동합니다.
    • Connector.bat를 실행합니다.
    • ConsoleIn의 화면에 「Please input number:」라고 메세지가 나오면 숫자를 입력합니다.
    • ConsoleOut의 화면에 그 숫자가 표시됩니다.
  • 방법 2:RtcLink를 사용하는 방법
    • RtcLink를 기동하고 SystemEditor를 준비합니다.→RtcLink의 사용 방법의 상세한 것은RtcLink를 참조
    • ConsoleIn와 ConsoleOut의 양컴포넌트를 기동합니다.
    • RtcLink의 NameServiceView에 양컴포넌트가 나타나므로 그것들을 SystemEditor상에 드래그 합니다.
    • 양컴포넌트의 포트를 연결합니다.(윗 그림 SimpleIO 실행예를 참조)
    • 어느 쪽인가의 컴포넌트를 마우스 오른쪽 버튼 클릭해, 「All Activate」를 선택.
    • ConsoleIn의 화면에 「Please input number:」라고 메세지가 나오면 숫자를 입력합니다.
    • ConsoleOut의 화면에 그 숫자가 표시됩니다.


SeqIO

 DataInPort, DataOutPort의 사용 방법을 나타낸 샘플입니다. SeqIn.bat와 SeqOut.bat를 실행하는 것으로 샘플 컴포넌트가 기동해, GUI 화면이 표시됩니다. SeqIn, SeqOut 모두 이하의 형태의 DataPort를 보관 유지하고 있습니다. TimedShort, TimedLong, TimedFLoat, TimedDouble, TimedShortSeq, TimedLongSeq, TimedFLoatSeq, TimedDoubleSeq 각 Port의 출력은 랜덤으로 결정하고 있어 각 Port간을 접속하면 SeqOut측의 출력치, SeqIn측의 입력치가 각각의 GUI 화면에 표시됩니다.(Port간의 접속에는 RtcLink를 이용하십시오.)


java_seqio0.png
SeqIO 실행예(RtcLink 접속 화면)



java_seqio1.png
SeqIO 실행예(SeqIn)



java_seqio2.png
SeqIO 실행예(SeqOut)


사용법

 SeqIO의 샘플은, SeqOut로부터 연속해 출력되는 수치 데이터를 데이터 포트로부터 SeqIn에 보내, GUI상에 표시시키는 샘플입니다. SeqOut와 SeqIn의 대응하는 포트를 RtcLink상에서 접속해 주십시오. 양컴포넌트를 액티베이트 하면 SeqOut 뿐만이 아니라 SeqIn의 GUI상의 수치도 연속적으로 변화해, 데이터 포트의 입출력을 관찰할 수 있습니다.
  • 순서
    • RtcLink를 기동해, SystemEditor를 준비합니다.→RtcLink의 사용 방법의 상세한 것은RtcLink를 참조
    • SeqOut와 SeqIn의 양컴포넌트를 기동합니다.
    • RtcLink의 NameServiceView에 양컴포넌트가 나타나므로, 그것들을 SystemEditor상에 드래그 합니다.
    • 양컴포넌트의 대응 포트를 연결합니다.(윗 그림 SeqIO 실행예를 참조)
    • 어느 쪽인가의 컴포넌트를 마우스 오른쪽 버튼 클릭해, 「All Activate」를 선택.

SimpleService

 ServicePort의 사용 방법을 나타낸 샘플입니다. 이하에 나타내는 IDL를 사용해 서비스를 정의하고 있습니다.

 typedef sequence<string> EchoList;
 typedef sequence<float> ValueList;
 
 interface MyService
 {
   string echo(in string msg);
   EchoList get_echo_history();
   void set_value(in float value);
   float get_value();
   ValueList get_value_history();
 };

MyServiceConsumer.bat와 MyServiceProvider.bat를 실행하는 것으로 샘플 컴포넌트가 기동합니다. Consumer측 컴포넌트를 Activate 하면 콘솔에 이용 가능한 커멘드 리스트가 표시되기 때문에, 각 커멘드를 테스트해 보십시오.(Port간의 접속에는 RtcLink를 이용하십시오.)


java_simplesvc0.png
SimpleService 실행예(RtcLink 접속 화면)


java_simplesvc1_ja.png
SimpleService 실행예(MyServiceConsumer)



java_simplesvc2_ja.png
SimpleService 실행예(MyServiceProvider)



사용법

 SimpleService는 MyServiceConsumer로부터 커멘드를 보내 MyServiceProvider로 그것을 처리하는 샘플입니다(※정확하게는 커멘드의 해석은 Consumer측이며, Provider측의 함수를 호출하는 형태로 구현되고 있다). MyServiceConsumer와 MyServiceProvider의 대응하는 포트를 RtcLink상에서 접속해 주십시오. 양컴포넌트를 액티베이트 하면(Activate 하는 것은 Consumer측 컴포넌트만으로도 좋다) Consumer측 prompt에 커멘드 일람이 표시되므로, 적당한 커멘드를 입력해 주십시오. Provider측의 응답을 prompt상에서 관찰할 수 있습니다.
  • 순서
    • RtcLink를 기동해, SystemEditor를 준비합니다.→RtcLink의 사용 방법의 상세한 것에 대하여는RtcLink를 참조
    • MyServiceConsumer와 MyServiceProvider의 양컴포넌트를 기동합니다.
    • RtcLink의 NameServiceView에 양컴포넌트가 나타나므로, 그것들을 SystemEditor상에 드래그 합니다.
    • 양컴포넌트의 대응 포트를 연결합니다.(윗 그림 SimpleService 실행예를 참조)
    • 어느 쪽인가의 컴포넌트를 마우스 오른쪽 버튼 클릭해, 「All Activate」를 선택.(이 경우는, Consumer측 컴포넌트를 Activate 하는 것만으로도 동작합니다.)
    • Consumer측 prompt에 커멘드를 입력.
      - 커멘드
    • echo <message>:임의의 <message>을 에코
    • set_value <value>:임의의 <value>을 Provider 측에 세트
    • get_value:현재 Provider 측에 세트 되고 있는 값을 취득해 표시
    • get_echo_history:지금까지의 에코 메세지의 이력을 Provider측으로부터 취득
    • get_value_history:지금까지 세트 해 온 값의 이력을 Provider측으로부터 취득


ConfigSample

 RT컴포넌트의 컨피그레이션 세트의 사용 방법을 나타낸 샘플입니다. ConfigSample.ba을 실행하는 것으로 샘플 컴포넌트가 기동합니다. 컴포넌트가 정상적으로 기동되면, 컨피그레이션 세트가 미리 설정된 상태로 되어 있습니다. RtcLink를 이용해 컨피그레이션 세트를 확인해 보십시오.


※컴포넌트 기동시에 「지정된 패스가 발견되지 않습니다.」라고 하는 에러가 발생하는 경우, RTMExamples/ConfigSample 디렉토리안에 있는 rtc.conf 파일내의「example.ConfigSample.config_file」항목을 다음과 같이 수정해 주십시오.
  • 다음에 나타내는 패스에 옮겨놓습니다.

   .\\RTMExamples\\ConfigSample\\configsample.conf

   (폴더와 폴더의 사이의 문자는'\'가 아니고,'\\'로 합니다)

  • 혹은, 「configsample.conf」에의 전체 경로로 수정합니다. 이 경우도, 위와 같이 폴더와 폴더의 분할자에게 '\\'를 사용하는 것에 주의.


java_configsample0.png
ConfigSample 실행예



사용법

 RtcLink의 ConfigrationView로 선택, 설정한 ConfigrationSet에 따른 데이터 세트를 prompt상에 표시해 끊임 없이 표시 갱신을 합니다.
  • 순서
    • RtcLink를 기동해, SystemEditor를 준비합니다.→RtcLink의 사용 방법의 상세한 것에 대하여는RtcLink를 참조
    • ConfigSample 컴포넌트를 기동합니다.
    • RtcLink의 NameServiceView에 이 컴포넌트가 나타나므로, SystemEditor상에 드래그 합니다.

- 조작
    • RtcLink의 ConfigrationView로부터 적당한 ConfigrationSet(default, mode0, mode1)를 선택한다.
    • 필요가 있으면, value를 변경한다.
    • 「Apply」버튼을 누른다.


ExtTrigger

 RT컴포넌트 외부로부터의 입력(이벤트)에 의해 처리를 실행하는 ExecutionContext의 샘플입니다. ExtConsoleIn.bat와 ExtConsoleOut.bat를 실행하는 것으로 샘플 컴포넌트가 기동합니다. 양컴포넌트를 기동 후, ExtConnector.bat를 실행해 양컴포넌트의 Port간을 접속해 주십시오.


java_exttrigsample0.png
ExtTrigger 실행예(ExtConsoleIn)



java_exttrigsample1.png
ExtTrigger 실행예(ExtConsoleOut)



java_exttrigsample2.png
ExtTrigger 실행예(ExtConnector)


Port간의 접속이 성공하면, ExtConnector를 실행한 콘솔에 어느 컴포넌트의 처리를 진행시키는지 선택하는 메뉴가 표시됩니다. 각 컴포넌트는 이 콘솔에 입력된 값에 따라 처리 1주기씩 진행시켜 나갑니다.



GUIIn

 GUI 화면을 가진 RT컴포넌트의 샘플입니다. GUIIn.bat를 실행하는 것으로 샘플 컴포넌트가 기동합니다.


java_guiin0.png
GUIIn 실행예(GUIIn)



GUIIn 실행예(RtcLink 접속 화면)


각 GUI 요소와 Port간의 관계는 이하대로입니다.
슬라이더(상)
TimedLong형 DataOutPort
텍스트·박스(중)
TimedString형 DataOutPort
스피너(하)
TimedDouble형 DataOutPort
각 Port는 해당하는 Port간을 접속 후, GUI 요소옆의 체크 박스를 ON로 하는 것으로, 입력 데이터를 송신합니다.(Port간의 접속에는 RtcLink를 이용하십시오. 출력 데이터의 확인에는 SeqIn등의 타샘플을 이용하십시오.)

사용법

 GUIIn 컴포넌트의 GUI 화면에서 체크를 넣은 컨트롤(슬라이더, 스피너)을 조작하면, 그 값의 변화에 따라서 SeqIn의 GUI 화면상의 값도 변화합니다.
  • 순서
    • RtcLink를 기동해, SystemEditor를 준비합니다.→RtcLink의 사용 방법의 상세한 것에 대하여는RtcLink를 참조
    • GUIIn와 SeqIn의 양컴포넌트를 기동합니다.
    • RtcLink의 NameServiceView에 이러한 컴포넌트가 나타나므로, 둘 모두 SystemEditor상에 드래그 합니다.
    • 양컴포넌트의 대응 포트를 연결합니다.(윗 그림 GUIIn 실행예를 참조)
    • 어느 쪽인가의 컴포넌트를 마우스 오른쪽 버튼 클릭해, 「All Activate」를 선택


LogView

 (LogView 컴포넌트는 OpenRTM-aist-Java-0.4에 부속되지 않게 되었습니다)

 통합 개발 환경 Eclipse의 플러그 인으로서 동작하는 RT컴포넌트의 샘플입니다. 이 컴포넌트는 2개의 TimedDouble형 DataInPort를 가지고 있어 입력된 값을 차례차례 화면상에 그래프 표시해 갈 것입니다.


LogView의 실행 화면


인스톨과 기동

 LogView 디렉토리내에 있는「jp.go.aist.rtm.logview_1.0.0.jar」를 Eclipse 인스톨 디렉토리 이하의 plugins 디렉토리내에 복사하면 인스톨은 완료입니다.(Eclipse의 인스톨 방법에 대해서는,RtcLink·RtcTemplate의 인스톨등을 참조하십시오)

네임 서비스를 기동 후, Eclipse를 기동해 주십시오.(Eclipse 기동시, 혹은 화면 표시시에 컴포넌트의 등록을 실시하기 때문에 네임 서비스는 사전에 기동해 주십시오.)

LogView에게 주는 rtc.conf를 작성해 적당한 디렉토리에 둡니다. 이하의 예에서는 Eclipse를 기동하는 호스트와 같은 호스트상의 네임서버를 참조해, 컴포넌트의 이름은 루트 컨텍스트의 직하에 그대로 등록되는 설정입니다.

 corba.nameservers: localhost
 naming.formats: %n.rtc
rtc.conf의 작성예


Eclipse가 기동하면, 상부 메뉴로부터「윈도우」「설정」을 선택해, 표시된「설정」다이얼로그에서,「LogView」를 선택해 주십시오.

java_logview0.1.png
LogView의 설정(메뉴 선택)


그림과 같이 LogView의 설정 화면이 표시되기 때문에, 각 설정 항목을 적절히 설정합니다.

Configuration File Path
방금전 작성한 rtc.conf의 장소를 지정합니다.
redraw Period
그래프를 드로잉 주기를 지정합니다.

설정이 끝나면, 상부 메뉴로부터「윈도우」「뷰의 표시」「그 외」를 선택해, 표시된「뷰의 표시」화면에서,「그 외」「LogView」를 선택해 주십시오. 네임서비스뷰상에 LogView 컴포넌트가 나타납니다.


java_logview1.png
LogView의 표시(메뉴 선택)



java_logview2.png
LogView의 표시(뷰의 선택)


동작 확인과 설정

 LogView 컴포넌트의 동작 확인용 컴포넌트로서 SinCosOut 컴포넌트를 준비하고 있습니다. SinCosOut 컴포넌트는 TimedDouble형의 2개의 DataOutPort를 보관 유지하고 있어 각각의 Port로부터 sin파, cos파를 출력합니다. SinCosOut.bat를 실행하는 것으로 기동할 수 있기 때문에, LogView 컴포넌트와 함께 시험해 주십시오. LogView 컴포넌트는 Y축방향의 최대치, 최소치 및 눈금의 간격과 그래프의 리드로잉 주기를 설정하는 것이 가능합니다. 화면 우측의 텍스트 박스내로 설정치를 입력해, 「Apply」버튼을 누르는 것으로 설정을 반영하는 것이 가능합니다.


java_logview3.png
LogView의 설정


Tips

JDK인스톨을 위한 힌트

Vine3.2

 일례로서 Vine3.2에서의 인스톨 방법을 설명합니다. 이하의 작업은 슈퍼 유저로서 실행해 주십시오.
  • JDK 5 인스톨 방법
    • Linux RPM in self-extracting file를 입수한 경우
       터미널을 기동하고 Linux RPM in self-extracting file를 다운로드한 디렉토리로 이동하여 다음의 커멘드를 입력합니다.
       # ls
       jdk-1_5_0_15-linux-i586-rpm.bin
       # sh jdk-1_5_0_15-linux-i586-rpm.bin
      라이센스 허가 등은 스페이스를 눌러 진행합니다. 라이센스를 승낙에 대해 물어보기 때문에 문제가 없다면「yes」라고 답을 합니다.

    • Linux self-extracting file을 입수한 경우
       터미널을 기동하고 Linux self-extracting file를 다운로드한 디렉토리로 이동하여 다음의 커멘드를 입력합니다.
       # ls
       jdk-1_5_0_15-linux-i586.bin
       # sh jdk-1_5_0_15-linux-i586.bin
      라이센스 허가 등은 스페이스를 눌러 진행합니다. 라이센스를 승낙에 대해 물어보기 때문에 문제가 없다면「yes」라고 답을 합니다.
       # mkdir /usr/java
       # mv jdk1.5.0_15/ /usr/java/
      등으로 /usr/java이하에 압축을 해제한 JDK를 배치합니다.

  • 환경 변수의 설정

 /etc/profile의 마지막에 다음의 3행을 추가합니다.
 
 export JAVA_HOME=/usr/java/jdk1.5.0_15
 export PATH=$PATH:$JAVA_HOME/bin
 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

참고 사이트(외부 사이트):

 → Java의 인스톨(Linux)

 → Linux 환경에서 Java 인스톨 순서


Ubuntu7.10

 Ubuntu7.10에서는 디폴트로 GCJ(The GNU Compiler for Java)가 기동하도록 되어 있습니다.

 $ java -version
 java version "1.5.0"
 gij (GNU libgcj) version 4.2.1 (Ubuntu 4.2.1-5ubuntu5)
 
 Copyright (C) 2007 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 $
 그러나 OpenRTM-aist-Java는 동작 조건에서 설명한 대로, Java Development Kit 5.0(JDK 5)가 아니면 정상 동작을 하지 않습니다. 따라서, JDK 5를 인스톨하여 java커멘드로 Sun Java(JDK 5)가 기동하도록 합니다.  다음에, Ubuntu7.10에서 JDK 5를 인스톨하는 순서를 간단히 기술합니다.

  • Synaptic 패키지・매니저를 기동
  • 「sun java」를 키워드로 검색
  • sun-java5-jdk를 더블 클릭(의존 관계가 자동적으로 선택)
  • 「적용」버튼을 클릭

 $ java -version
 java version "1.5.0_13"
 Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05)
 Java HotSpot(TM) Client VM (build 1.5.0_13-b05, mixed mode, sharing)
 $


Debian4.0 etch

 Debian4.0(etch)에서는 디폴트로 GCJ(The GNU Compiler for Java)가 기동하도록 되어 있습니다.
 $ java -version
 java version "1.4.2"
 gij (GNU libgcj) version 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)
 
 Copyright (C) 2006 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 $ 
 그러나 OpenRTM-aist-Java는 동작 조건에서 설명한 대로, Java Development Kit 5.0(JDK 5)가 아니면 정상 동작을 하지 않습니다. 따라서, JDK 5를 인스톨하여 java커멘드로 Sun Java(JDK 5)가 기동하도록 합니다.
 다음에 Debian4.0(etch)에서 JDK 5를 인스톨하는 순서를 간단히 기술합니다.
  • /etc/apt/sources.list의 마지막에 다음의 1행을 추가
     deb http://ftp.jp.debian.org/debian/ etch main contrib non-free
  • aptitude를 최신 버전으로 업데이트 하기 위해 다음의 커멘드를 실행
     # aptitude update
  • 「sun-java」관련 패키지 의존성 확인
     # apt-cache search sun-java
     sun-java5-bin - Sun Java(TM) Runtime Environment (JRE) 5.0 (architecture dependent files)
     sun-java5-demo - Sun Java(TM) Development Kit (JDK) 5.0 demos and examples
     sun-java5-doc - Sun JDK(TM) Documention -- integration installer
     sun-java5-fonts - Lucida TrueType fonts (from the Sun JRE)
     sun-java5-jdk - Sun Java(TM) Development Kit (JDK) 5.0
     sun-java5-jre - Sun Java(TM) Runtime Environment (JRE) 5.0 (architecture independent files)
     sun-java5-plugin - The Java(TM) Plug-in, Java SE 5.0
     sun-java5-source - Sun Java(TM) Development Kit (JDK) 5.0 source files
  • 필요한 패키지를 인스톨(의존 관계는 자동적으로 해결)
     # aptitude install sun-java5-jdk
     # aptitude install sun-java5-fonts
     # aptitude install sun-java5-plugin
  • JDK 5의 인스톨 확인
     # java -version
     java version "1.5.0_14"
     Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
     Java HotSpot(TM) Client VM (build 1.5.0_14-b03, mixed mode, sharing)
     #


참고 사이트(외부 사이트):

 → debian(x86)にJDK+Tomcat

 → Debian GNU/Linux Etch 에 Sun JDK (Java SDK) 를 인스톨


Fedora8

 Fedora Core 8에서는 디폴트로 GCJ(The GNU Compiler for Java)가 기동하도록 되어 있습니다.
 $ java -version
 java version "1.7.0"
 IcedTea Runtime Environment (build 1.7.0-b21)
 IcedTea Client VM (build 1.7.0-b21, mixed mode)
 $ 
 그러나 OpenRTM-aist-Java는 동작 조건에서 설명한 대로, Java Development Kit 5.0(JDK 5)가 아니면 정상 동작하지 않습니다. 따라서, JDK 5를 인스톨하여 java커멘드로 Sun Java(JDK 5)가 기동하도록 합니다.
 다음에 Fedora Core 8에서 JDK 5를 인스톨하는 순서를 간단히 기술합니다.
  • # chmod a+x jdk-1_5_0_14-linux-i586-rpm.bin
  • # ./jdk-1_5_0_14-linux-i586-rpm.bin
  • # rm -fr /usr/src/redhat/{BUILD,SOURCES,SPECS}/*
  • # rpm -i java-1.5.0-sun-compat-1.5.0.14-1jpp.src.rpm
  • # rpmbuild -bb /usr/src/redhat/SPECS/java-1.5.0-sun-compat.spec
  • # rpm -ivh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-compat-1.5.0.14-1jpp.i586.rpm
  • # alternatives --config java
     # alternatives --config java
     3 프로그램이 있고 'java' 를 제공합니다.
       選択       コマンド
     -----------------------------------------------
     *+ 1           /usr/lib/jvm/jre-1.7.0-icedtea/bin/java
        2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
        3           /usr/lib/jvm/jre-1.5.0-sun/bin/java
     Enter를 눌러 현재의 선택 [+] 를 저장하던지 선택번호를 입력합니다.:3
     #
  • JDK 5의 인스톨 확인
     # java -version
     java version "1.5.0_14"
     Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
     Java HotSpot(TM) Client VM (build 1.5.0_14-b03, mixed mode, sharing)
     #

    참고 사이트(외부 사이트):

 → Fedora5/java

 → Java개발 실행 환경을 구축(J2SDK-Linux편)