13.4 모듈 배포용 JAR 파일
1. 명세서가 붙은 택배 박스 📦
우리가 만든 모듈을 다른 사람에게 주려면 어떻게 해야 할까요? 당연히 하나의 파일로 포장(JAR)해서 줘야 합니다.
이때, 모듈 배포용 JAR는 일반 JAR와 한 가지 결정적인 차이가 있습니다.
바로 ‘박스 겉면에 상세한 명세서(module-info.class)가 붙어있다’는 점입니다.
- 일반 JAR: 그냥 열어보기 전엔 뭐가 들었는지, 뭘 조심해야 하는지 모릅니다.
- 모듈 JAR: “이 박스엔 폭발물이 없으며(보안), 취급 시 장갑이 필요함(의존성)” 같은 정보가
module-info에 적혀있습니다.
2. JAR 파일 만들기 (Export)
이클립스에서는 아주 쉽게 모듈을 JAR로 만들 수 있습니다.
- 프로젝트 우클릭 -> Export -> Java / JAR file 선택.
src폴더 체크: 소스 코드와module-info.java가 포함되어야 합니다.- 경로 지정: 보통
dist(distribution) 폴더를 만들어 저장합니다.
이렇게 만든 .jar 파일 안에는 컴파일된 module-info.class 파일이 루트에 포함됩니다.
이것이 바로 모듈의 신분증입니다.
3. 다른 프로젝트에서 가져다 쓰기
이제 my_application 프로젝트에서 이 JAR 파일을 써봅시다.
Build Path 설정
- Project 우클릭 -> Build Path -> Configure Build Path.
- Libraries 탭 -> Modulepath 선택 (중요!).
- Classpath가 아니라 Modulepath에 추가해야 모듈로 인식됩니다.
- Add External JARs -> 방금 만든 JAR 파일 선택.
module-info.java 작성
마지막으로, “나 이 모듈 쓸 거야”라고 선언해야 합니다.
module my_application {
requires my_module_a; // JAR 파일 안에 적힌 모듈 이름
}
핵심 요약: 모듈을 JAR로 만들면, 그 자체로 완벽한 자기 설명서(
module-info)를 가진 독립적인 부품이 됩니다.
서브목차