Java 9 이상부터 Jigsaw 모듈 시스템이 도입되었습니다. 이 모듈 시스템을 통해 Java 애플리케이션을 모듈 단위로 구성할 수 있으며, 이를 통해 애플리케이션의 구조와 의존성을 더욱 명확하게 관리할 수 있습니다.
Jigsaw 모듈 시스템을 사용하면 모듈 간의 의존성을 명시적으로 선언할 수 있으며, 컴파일 및 실행 시에 자동으로 모듈의 의존성을 해결해줍니다. 그러나 때로는 모듈 간의 의존성을 파악하기 위해 추가적인 도구가 필요할 수 있습니다. 이때 jdeps
라는 도구가 유용하게 사용될 수 있습니다.
jdeps
는 Jigsaw 모듈 시스템을 위한 비트코드 분석 도구로, 주어진 모듈 또는 클래스 파일을 분석하여 해당 모듈 또는 클래스가 의존하는 다른 모듈들을 확인할 수 있습니다. 이를 통해 애플리케이션의 모듈 간 의존성을 추적하고, 필요한 의존 모듈을 정확히 지정할 수 있습니다.
jdeps
사용법
jdeps
는 주로 명령행으로 실행되며, 다음과 같은 형식으로 사용할 수 있습니다:
jdeps [options] <파일 또는 디렉토리>
<파일 또는 디렉토리>
는 분석하고자 하는 모듈 파일 또는 클래스 파일 또는 패키지(디렉토리)를 지정합니다.
jdeps
를 실행하면, 모듈 또는 클래스 파일 내에 포함된 의존성 정보와 함께, 해당 모듈 또는 클래스에 대한 분석 결과가 출력됩니다. 출력 결과를 통해 어떤 모듈이 다른 모듈에 의존하고 있는지를 확인할 수 있습니다.
jdeps
예시
다음은 jdeps
를 사용하여 myapp.jar
라는 모듈 파일을 분석하는 예시입니다:
jdeps myapp.jar
이때 myapp.jar
라는 모듈 파일이 의존하는 다른 모듈들과 해당 모듈의 클래스들의 의존성 정보가 출력됩니다.
결론
Jigsaw 모듈 시스템은 Java 애플리케이션의 구조와 의존성을 더욱 명확하게 관리할 수 있도록 도움을 주는 기능입니다. 이를 위해 jdeps
도구를 사용하여 모듈 간 의존성을 추적하고, 필요한 모듈을 정확히 지정할 수 있습니다. jdeps
는 Java 9 이상 버전에서 사용 가능하며, Java 개발자들에게 유용한 도구로 활용될 수 있습니다.
참고문헌: