[Java]Java 프로젝트에서 컴파일부터 배포까지의 과정

LeeYulhee·2023년 9월 18일
0

👉 컴파일 명령어


  • javac -d [컴파일 결과물을 저장할 경로] [컴파일할 .java 파일]
    • java 파일이 컴파일 되면 .class 파일로 저장됨
    • .class 파일은 바이트 코드로 구성되어 있음



👉 .class 파일 실행 명령어


  • java -classpath [class 파일이 위치한 디렉토리] [패키지를 포함한 클래스 이름]
    • 클래스 이름은 실행할 .class 파일로, 반드시 main 함수가 들어 있어야 실행됨
    • class 파일 위치는 실행할 클래스 파일이 있는 상위 폴더의 ‘class’라는 이름의 디렉토리 위치
    • java -classpath D:\practice\class\ com.example.HelloWorld



👉 .jar 파일 생성 명령어


  • jar -cf [jar 파일 이름] [최상위 패키지 경로]
    • jar 파일을 만드는 명령어
    • -cf의 c는 create, f는 파일의 이름을 받을 준비가 되어 있음을 의미
    • 만약 특정 파일만 포함하고 싶다면 [최상위 패키지 경로] 대신 [포함할 파일 또는 디렉토리] 입력
    • 주의할 점
      • 이렇게 작성하면 Main-Class 지정이 되지 않기 때문에 별도로 진입점 클래스를 지정해주어야 함 ⇒ 안 그러면 실제로는 실행되지 않는다고 봐도 무방
      • java -cp/-classpath [클래스 경로] [메인 클래스]
      • java -cp MyApp.jar com.myapp.Main
  • jar -cfm [생성할 JAR 파일 이름] [매니페스트 파일의 경로] [최상위 패키지 경로]
    • jar 파일을 만드는 명령어
    • -cfm의 m은 Manifest 파일을 명시적으로 지정할 때 사용



👉 .jar 파일이란?


  • jar 파일은 zip 파일과 같은 압축 파일
  • jar 파일 내부에 있는 META-INF 폴더에 MANIFEST.MF 파일이 있음
    • MANIFEST 파일이란?
      • 자바 애플리케이션의 정보를 담고 있는 메타데이터 파일로, 메인 함수에 대한 정보를 넣어야 함
      • 그 외에도 여러 정보를 담을 수 있음
      • ⇒ src 디렉토리에 Manifest.txt 파일을 생성해서 메인 함수에 대한 정보를 넣을 수 있음
        • 작성 예시 : Main-Class: com.example.HelloWorld
        • 보통은 MANIFEST.MF라고 이름 지어지며, META-INF 폴더 안에 위치하는 것이 일반적



👉 .jar 파일 실행하는 명령어


  • java -jar lib\MyApp.jar
profile
공부 중인 신입 백엔드 개발자입니다

0개의 댓글