4
Java 9 모듈은 classpath hell을 해결할 것이라고합니다. 그러나 다음 상황에 대해 생각하고 있습니다. 모듈 A는 모듈 B와 C를 사용합니다. 두 모듈은 모두 같은 이름과 패키지로 클래스를 내 보냅니다. 클래스 로딩 문제는 어떻게 여기서 해결 될까요?Java 9 모듈 및 classpath hell : 충돌하는 클래스 이름
Java 9 모듈은 classpath hell을 해결할 것이라고합니다. 그러나 다음 상황에 대해 생각하고 있습니다. 모듈 A는 모듈 B와 C를 사용합니다. 두 모듈은 모두 같은 이름과 패키지로 클래스를 내 보냅니다. 클래스 로딩 문제는 어떻게 여기서 해결 될까요?Java 9 모듈 및 classpath hell : 충돌하는 클래스 이름
이 상황은 Java 9 모듈 시스템에서는 금지되어 있습니다. 같은 레이어에있는 두 개의 모듈이 같은 패키지를 가지고 있다면, Java 9는 시작할 때 오류와 함께 실패합니다 :
java.lang.LayerInstantiationException:
Package <package_name> in both module <moduleB_name> and module <moduleC_name>