티스토리 뷰
요새는 얼마나 좋은 편집기가 많은지...Eclipse 나 NetBeans 같은 무료로 사용할 수 있는 자바 개발툴도 있고, 상용인 JBuilder 같은 툴들도 있다. 하지만, 가끔 커맨드라인에서 컴파일하고 실행하고 싶지 않은가? 여기 몇가지 커맨드라인 명령어들을 소개하고자 한다. 이 글에서는 일단 컴파일 옵션부터 살펴보자.
참고할 사이트는 아래와 같다.
http://pllab.kw.ac.kr/j2seAPIs/tooldocs/windows/javac.html
Unix/Linux : docs/technotes/tools/solaris/javac.html
Windows : docs\technotes\tools\windows\javac.html
여러분들도 잘 알다시피 컴파일 명령어는 아래와 같다.
javac [-options] [source files]
당연히 여러분은 javac.exe 에 대한 PATH 를 설정했을 것이다. 컴파일하려는 파일이 있는 디렉토리로 이동하자.
javac HelloWorld.java
너무 쉽다고? 다 안다고? 맞다 이건 누구나 다 안다. 결과는 아래의 그림처럼 HelloWorld.class 파일을 생성한다.
javac -cp ./dir/Classes/ HelloWorld.java
-cp 옵션은 -classpath 와 같다. 컴파일때 CLASSPATH 설정을 참조하거나 옵션을 이용해서 경로를 참조한다. 위의 그림의 소스를 보니 Test 클래스를 참조하고 있다. Test class의 소스를 보자.
그런데, Test.class 의 위치는 HelloWorld.java 가 있는 디렉토리에 없다. 다른 디렉토리에 있는 것이다. 현재 디렉터리 아래 dir 디렉토리 아래 Classes 디렉토리에 존재한다. 그래서 HelloWorld.java 를 컴파일할 때 참조할 클래스가 있는 디렉토리를 지정해야 한다.
이렇게 컴파일때 참조할 클래스가 있는 디렉토리의 경로를 지정하면 된다. -classpath 옵션과 동일하다.
javac -d ./dir/libs HelloWorld.java
이 경우는 HelloWorld.java 파일을 컴파일 할 때 현재 디렉토리에 class 파일을 생성하는 것이 아니라, -d 옵션 다음에 기술돼 있는 디렉토리에 클래스 파일을 생성하는 것이다. 이 경우 Linux 경우에는 이미 그 디렉토리가 존재해야 한다. 하지만, Windows 에서는 컴파일시에 디렉토리가 생성된다. 여하튼, HelloWorld.java 를 컴파일해서 생성되는 HelloWorld.class 는 현재디렉토리 아래 dir 디렉토리 아래 libs 디렉토리에 생성되는 것이다.
javac -source 1.4 HelloWorld.java
-source 옵션은 받아들이는 원시 코드의 버젼을 지정한다. -source 뒤에는 버전을 지정하게 되는데, 1.3, 1.4, 1.5(또는 5)를 지정할 수 있다. 아래 그림을 보자. printf() 는 1.5 버전 즉 Tiger 버전에서부터 지원하는 출력메소드이다. 이 코드를 1.4 버전으로 지정하면 어떻게 될까?
아래의 그림과 같이 컴파일에러가 발생한다. 이유는 -source 로 버전을 1.4로 지정했기 때문이다.
javac -version
이 옵션은 자바 컴파일러의 버전을 출력한다.
javac -help
마지막으로 help 옵션이다. 위에 기술하지 않은 나머지 옵션에 대한 설명을 볼 수 있다.
자 여기까지 많이 사용하는 컴파일 옵션에 대해 설명했다. 다음은 Interpreter 옵션에 대해 살펴보도록 하자.
- Total
- Today
- Yesterday
- javascript
- Fedora14
- Linux
- Apache
- command tools
- mysql
- ubuntu
- AJAX
- dev-c++
- Android
- PHP
- LECTURE
- Installation
- windows 7
- CSS3
- J2SE
- 원격로그인
- 우분투
- 리눅스
- EditPlus
- JDBC
- SQL
- Windows 8.1
- Flex
- JAR
- classpath
- ftp서버
- Eclipse
- Javadoc
- Fedora
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |