2010년 4월 7일 수요일

Ubuntu Java Compiler - javac

우분투에서 javac 을 이용하여 컴파일 하려할 때 다음과 같은 에러 메시지를 볼 수 있다.

javac 명령어를 찾을 수 없다는 문구가 아래와 같이 하단에 나온다.

1. 문제 현상 :

 The program 'javac' can be found in the following packages:
 * openjdk-6-jdk
 * ecj
 * gcj-4.4-jdk
 * gcj-4.3
 * jikes-classpath
 * jikes-kaffe
 * kaffe
 * sun-java6-jdk
Try: sudo apt-get install <selected package>
javac: command not found

2. 문제 해결 : 아래와 같이 명령어를 입력한다.

$ sudo apt-get install sun-java6-jdk

3. 다음과 같이 터미널에서 javac 을 입력하여 설치가 잘 이루어졌는지 확인해 보자

$ javac
Usage: javac <options> <source files>
where possible options include:
  -g                         Generate all debugging info
  -g:none                    Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info
  -nowarn                    Generate no warnings
  -verbose                   Output messages about what the compiler is doing
  -deprecation               Output source locations where deprecated APIs are used
  -classpath <path>          Specify where to find user class files and annotation processors
  -cp <path>                 Specify where to find user class files and annotation processors
  -sourcepath <path>         Specify where to find input source files
  -bootclasspath <path>      Override location of bootstrap class files
  -extdirs <dirs>            Override location of installed extensions
  -endorseddirs <dirs>       Override location of endorsed standards path
  -proc:{none,only}          Control whether annotation processing and/or compilation is done.
  -processor <class1>[,<class2>,<class3>...]Names of the annotation processors to run; bypasses default discovery process
  -processorpath <path>      Specify where to find annotation processors
  -d <directory>             Specify where to place generated class files
  -s <directory>             Specify where to place generated source files
  -implicit:{none,class}     Specify whether or not to generate class files for implicitly referenced files
  -encoding <encoding>       Specify character encoding used by source files
  -source <release>          Provide source compatibility with specified release
  -target <release>          Generate class files for specific VM version
  -version                   Version information
  -help                      Print a synopsis of standard options
  -Akey[=value]              Options to pass to annotation processors
  -X                         Print a synopsis of nonstandard options
  -J<flag>                   Pass <flag> directly to the runtime system

 
4. javac 명령어를 이용한 컴파일
   a. 예제 파일 생성 (HelloWorldApp.java)

$ vi HelloWorldApp.java

   b. 예제 소스 입력

 class HelloWorldApp{
   public static void main(String[] args) {
       System.out.println("Hello World!");
   }
}

    c. 소스 확인

$ ls
HelloWorldApp.java

    d. javac 을 이용한 컴파일

$ javac HelloWorldApp.java

    e. HelloWorldApp.class 파일이 생성되었는지 확인

 $ ls
HelloWorldApp.class  HelloWorldApp.java

    f. 실행

 $ java HelloWorldApp

Hello World!

5. The end.

댓글 없음:

댓글 쓰기

GDB

변수 값 출력 명령 출력 명령 p [변수명] p [함수명] p /[출력형식] [변수명]  출력 형식 t : binary o: octal d: decimal u: unsigned decimal x: hexadecimal c: ...