티스토리 뷰
자 이번에는, package 를 이용해 보자. 아래의 그림처럼 package 를 지정했다. package는 항상 자바소스 코드의 맨 위에 위치해야 하는거 알죠? 물론, 주석빼고... 컴파일하자. 일단 저장은 C:\JavaRoom 에 했다. 컴파일한다음, 파일을 이동하면 되니까.
javac.exe -d C:\Temp Test.java
컴파일이 끝나면 package 키워드는 -d 컴파일 옵션 뒤의 지정된 디렉토리를 시작기점으로 해서 package 에 지정된 경로를 따라 클래스 파일을 위치하게 한다. 지정된 경로에 있는 디렉토리가 없으면 생성하고 이미 생성돼있으면, 그 경로를 따라 클래스를 생성하게 된다. 아래 그림처럼 package classlibraries.first 에 의해서 C:\Temp 를 경로 시작지점으로 해서, C:\Temp\classlibraries\first\Test.class가 생성됐다.
이제 ClassPathDemo.java 를 컴파일하자. 어라! 에러가 발생하네...일단 Test.java 소스 코드를 다른 폴더로 이동시켜놓고 다시 컴파일하자.
다시 컴파일했더니, 또 에러가 발생했다. 하지만 위의 그림과 다른 메시지다. 역시 Test.java 소스파일이 문제다. 항상 동일폴더에 있으면 안되는 거다.
ClassPathDemo.java 에 들어가서 위치를 정확하게 지정한 import 문을 기술했다. 내가 참조해야할 클래스의 경로를 지정한다. package 와 다른 것은, package 는 경로를 디렉토리의 이름으로 기술하는 것이고, import 는 해당 디렉토리의 클래스의 이름을 지정하거나, 그 하위의 모든 클래스(*) 로 기술한다는 것이다. 즉 package는 디렉토리의 이름으로, import 는 갖고 올 디렉토리 이하 클래스를 기술한다는 차이다.
그래서 C:\Temp\classlibraries\first\Test.class 를 import 하라고 지정했다.
파일을 저장하고 다시 컴파일하자. 컴파일 성공...
역시 실행도 성공...아하! 소스에서 package 로 하위 디렉토리를 지정하면, 레퍼런스할 때 import 를 통해 역시 경로를 지정해야 한다는 것이다.
그럼, 매번 컴파일하고 실행할 때마다, 이렇게 -classpath 옵션을 지정해야 한다는 것인가? 아! 이건 너무 불편하다. 그래서 환경설정 설정시 CLASSPATH 를 넣는 거구나!!!
내 컴퓨터의 속성에 가서 고급탭의 환경변수로 들어가서 아래의 그림과 같이 [새 시스템 변수]를 등록하자. 역시 주의 할 점은 2가지...하나는, Windows 플랫폼에서는 CLASSPATH 의 구분자는 ';' 이고, Linux/Unix 에서의 구분자는 ':' 라는 것. 둘째는, 반드시 현재 디렉토리(.)를 맨 앞에 기술해야 한다는 것.
이왕 기술하는 김에 %JAVA_HOME%\lib\tools.jar 을 기술하자. 이게 진짜 SUN 에서 만든 클래스들이니까... 마지막으로 현재 실험하고 있는 C:\Temp 도 넣어주자. [확인] 버튼 클릭...
원래 환경변수의 설정은 재 부팅해야 하지만, 도스모드에서 set 명령을 통해 설정하자.
CLASSPATH 환경변수 설정을 했더니 컴파일할 때마다, 실행시 마다 별도로 -classpath 를 지정하지 않아도 된다. 아 ! 편하다....그래서 CLASSPATH 설정하는 구나...
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Windows 8.1
- windows 7
- SQL
- Android
- dev-c++
- Flex
- javascript
- 원격로그인
- Apache
- JDBC
- ftp서버
- 우분투
- Eclipse
- 리눅스
- classpath
- JAR
- mysql
- Javadoc
- command tools
- EditPlus
- CSS3
- Fedora14
- ubuntu
- LECTURE
- AJAX
- Fedora
- Installation
- Linux
- PHP
- J2SE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함