JAVA :: java파일과 class파일 폴더 구분하기
java 파일과 class 파일 구분하여 관리하기
왜 구분해야 하지?
어떻게 구분하지?
폴더 지정 옵션으로 컴파일하는 방법 => javac -d bin src/파일명.java |
이렇게 하면 bin이라는 폴더 안에 src폴더 안에 있는 자바 파일을 컴파일한 클래스 파일이 생성된다.
참고로 'javac'라는 명령어는 컴파일 명령어다.
위의 명령어를 풀이하면 다음과 같다.
'bin 폴더 안에다가 컴파일한 결과물을 둘거야. (그 결과물은 .class파일)
글탐 뭐를 컴파일 할거냐하면, src폴더 밑에 있는 파일명.java파일 있지?
그거를 컴파일 할거야.'
라는 뜻이다.
이렇게 클래스파일과 자바파일 폴더가 구분되어 있으니 실행할 때에도 어느 폴더 안에 있는 클래스파일을 실행할건지 알려줘야 한다.
폴더 지정 옵션으로 실행하는 방법 => java -classpath bin 파일명 => java -cp bin 파일명 (두가지 모두 똑같음) |
이걸 해석하면
'클래스 파일을 하나 실행할거야.
근데 뭘 실행할거냐면, bin폴더 밑에 있는 그 파일 있지?
고 놈을 실행할거야.'
라는 말이다.
<Java 컴파일/실행 시 폴더지정 옵션 정리>
* -d 옵션: 컴파일한 결과물(클래스파일)을 어디에 둘지 폴더를 지정한다.
(해당 폴더가 실제로 있어야 함)
javac -d 폴더명 파일명.java
* -cp 옵션: 클래스파일을 읽을 때(실행할 때) 해당 파일이 어디에있는지 위치를 지정한다.
java -cp 폴더명 파일명
-----------------------------------
이클립스와 같은 개발 툴을 이용한다면, 명령창에 javac 명령어로 컴파일하고, java 명령어로 실행하는 그 자체가 낯설테지만...
요정도는 기본 배경 날리지로 좀 알아두는 것도 나쁘지 않겠다.