일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linux
- Eclipse
- 파이썬
- checkbox
- geckodriver
- DataTables
- HMI
- 명령어
- SCADA
- 맥코트
- JQuery
- STS
- 말라키
- Python
- ORA-28002
- build
- 가상환경
- error
- 원한
- 분노
- Custom
- LOG
- pythoncom37.dll
- Anaconda
- 리눅스
- Today
- Total
2010년 5월 1일, 2막
[JSP] Java 파일 컴파일 방법 본문
Cafe24 서버에 다른 환경에서 컴파일된 class 파일을 바로 업로드 하면 제대로 작동이 안될 가능성이 높습니다. 따라서 java 파일을 업로드한 후 Cafe24 서버에서 컴파일 해주어야 합니다. Cafe24의 FAQ에 설명되어 있는 서블릿 컴파일을 위한 기본적인 명령어는 다음과 같습니다. (띄어쓰기에 주의해서 입력해야 합니다.)
javac -d . -classpath /home/hosting_users/Cafe24아이디/tomcat/lib/servlet-api.jar 컴파일할파일이름.java
하지만 이는 서블릿을 컴파일하기 위한 명령어이고 iBatis나 Struts 등을 사용할 경우에는 이를 컴파일하기 위한 라이브러리를 classpath에 추가해야 합니다. 보통 ';' 나 ':'를 뒤에 붙여주어 추가하는데 Cafe24의 경우 ':'를 붙여 추가합니다. Cafe24의 서버에 업로드시 Library 파일은 /WEB-INF/lib 폴더안에 위치하므로 이 경로안에 있는 jar 파일 중 컴파일을 위해 필요한 jar 파일을 classpath에 추가해 주도록 합니다.
javac -d . -classpath /home/hosting_users/Cafe24아이디/tomcat/lib/servlet-api.jar:/home/hosting_users
/Cafe24아이디/www/WEB-INF/lib/라이브러리파일이름.jar 컴파일할파일이름.java
또한 만일 컴파일할 클래스가 본인이 직접 작성한 다른 패키지에 있는 클래스를 참조하는 경우 이 클래스파일들 또한 classpath에 추가해 주어야 합니다. 직접 작성한 class 파일들은 모두 /WEB-INF/classes 폴더안에 위치하므로 아래와 같이 이 경로를 그대로 추가해 주면 됩니다.
javac -d . -classpath /home/hosting_users/Cafe24아이디/tomcat/lib/servlet-api.jar:/home/hosting_users
/Cafe24아이디/www/WEB-INF/lib/라이브러리파일이름.jar:/home/hosting_users/Cafe24아이디/www/WEB
-INF/classes/ 컴파일할파일이름.java
컴파일 명령어 중 javac -d 다음에 오는 것은 파일을 어느 위치에 컴파일 할 것이지 지정하는 부분인데 위의 경우처럼 '.'으로 표시하는 것은 현재 디렉토리에 컴파일 하겠다는 것을 의미합니다. 컴파일된 class 파일은 패키지명에 해당하는 디렉토리들을 자동으로 생성하므로 Cafe24 서버의 경우에는 /WEB-INF/classes/ 로 지정하면 편리합니다.
javac -d ./www/WEB-INF/classes/ -classpath /home/hosting_users/Cafe24아이디/tomcat/lib/servlet-api.jar:/home/hosting_users/Cafe24아이디/www/WEB-INF/lib/라이브러리파일이름.jar:/home/hosting_us
ers/Cafe24아이디/www/WEB-INF/classes/ 컴파일할파일이름.java
추가 :
javac 로 패키지 컴파일 할때 cannot find symbol날때
javac -d . test/HelloWorld.java로 컴파일 한다.
cannot find symbo 에러가날때
case1 ) 두 클래스의 package가 설정되지 않았을 때
javac -classpath . *.java
case2 ) 두 클래스의 package가 test일 때
javac -classpath . test/*.java
'Computer' 카테고리의 다른 글
[Java] POI 사용시 formula cell의 결과값이 제대로 나오지 않을 때 (0) | 2013.08.13 |
---|---|
[ORACLE] ORA-28001: the password has expired 해결법 (0) | 2013.08.08 |
[C#] log 저장 (0) | 2013.05.24 |
[C#] assigning Null value to datetime in C# (0) | 2013.05.09 |
[C#] BackgroundWorker (0) | 2013.04.26 |