최근에는 자바 개발자들이 IDE를 통해 자바를 배우는 경우가 많아 실제로 컴파일(javac), 실행(java), 패키징(jar) 명령어를 직접 사용하는 일은 드물다. 대부분의 작업은 IDE나 빌드 도구(예: Maven, Gradle)가 자동으로 처리한다. 그럼에도 불구하고, 기저에서 어떻게 동작하는지 이해하는 것은 개발에 큰 도움이 된다. 기본적인 명령어 사용법을 알고 있으면 문제 해결이나 빌드 도구 및 IDE 설정을 수정할 때 더 수월하기 때문이다. 이러한 이유로 자바의 핵심 명령어를 한 번 정리해 보기로 한다.
자바에서 소스파일을 클래스 파일로 컴파일하고, 컴파일한 파일을 jar 파일로 패키징하거나 실행하는 명령어들을 정리한다.
javac
- Windows 명령 프롬프트
src 디렉터리와 하위 디렉터리의 모든 .java 파일을 재귀적으로 탐색해 컴파일.
FOR /R src %i IN (*.java) DO javac -d build -sourcepath src %i
- Windows PowerShell
PowerShell의 `Get-ChildItem`으로 src 디렉터리 아래 모든 .java 파일을 탐색하고 컴파일.
Get-ChildItem -Path src -Recurse -Filter *.java | % { javac -d build -sourcepath src $_.FullName }
- Linux/Mac
Linux/Mac에서 src 디렉터리와 하위 디렉터리의 모든 .java 파일을 컴파일.
javac -d build -sourcepath src src/**/*.java
jar
myapp.jar 파일 생성, Main 클래스를 실행 엔트리로 지정.
Main 클래스는 반드시 `public static void main(String[] args)` 메서드를 포함해야 실행 가능.
jar cfe myapp.jar Main -C build
java
- jar 파일 실행
myapp.jar 파일에 포함된 Main-Class(엔트리 포인트)를 실행.
java -jar myapp.jar
- 클래스패스(클래스 파일 경로)와 메인 클래스를 지정하여 실행
build 디렉터리의 클래스 파일을 참조하며 Main 클래스를 실행.
Main 클래스가 패키지에 포함된 경우 전체 경로로 지정해야 실행 가능 (예: `com.example.Main`).
java -cp build Main
'☕Java' 카테고리의 다른 글
QueryDSL 정리 (0) | 2022.07.03 |
---|