본문으로 건너뛰기

Java 컴파일은 어떻게 하나요?

💡 요약 정리

  • 다른 환경에서 만든 class 파일은 서버에서 동작하지 않을 수 있습니다. 소스(.java)를 서버로 가져와 직접 컴파일하세요.
  • 서블릿 라이브러리 경로를 -classpath에 지정해야 합니다. 예: /home/.../tomcat/lib/servlet-api.jar
  • 단독 서버와 공용 서버는 참조 경로가 다릅니다. 아래 예시 명령을 사용하되 USER_ID를 실제 계정명으로 바꾸세요.
  • -d . 옵션은 현재 디렉터리에 class 파일을 생성합니다.

1. 컴파일 전 확인사항

  • 다른 버전에서 만들어진 class 파일은 서버에서 동작하지 않을 수 있습니다.
  • 이 경우, java 소스 파일(.java)을 서버로 가져와 서버에서 직접 컴파일하면 정상적으로 사용할 수 있습니다.
  • 예를 들어 cafe24.java 파일을 컴파일할 때는 컴파일 옵션에 classpath를 반드시 지정하세요.

2. 단독 서버에서 컴파일하기

  • 단독 서버에서 서블릿 라이브러리 경로를 지정한 기본 예시:
javac -d . -classpath /home/hosting_users/USER_ID/tomcat/lib/servlet-api.jar cafe24.java
  • 라이브러리가 2개 이상일 경우(콜론으로 구분):
javac -d . -classpath /home/hosting_users/USER_ID/tomcat/lib/servlet-api.jar:/home/hosting_users/USER_ID/tomcat/lib/servlet.jar cafe24.java

3. 공용 서버에서 컴파일하기

  • 공용 서버에서 서블릿 라이브러리 경로를 지정한 예시:
javac -d . -classpath /home/tomcat/common/lib/servlet-api.jar cafe24.java

4. 옵션 설명

  • -d .: 현재 디렉터리에 컴파일 결과(class 파일)를 생성합니다.
  • -classpath: 컴파일 시 참조할 라이브러리 경로입니다. servlet-api.jar의 경로를 지정해야 정상적으로 컴파일됩니다.