동일한 클래스를 포함하는 여러 개의 jar가 있습니다.동일한 클래스가 여러 개의 jar에 있습니다.
예를 들어 A.jar와 B.jar의 클래스가 Hello.class 인 경우를 가정 해 보겠습니다. ; b.JAR가
내 질문 com.testing.testcode가 실행하거나하지 않습니다 여부에 a.jar가 -classpath
자바 : 나는 다음 실행하면 어떻게됩니까? 나의 이해에서 클래스 로더는 클래스 패스를 스캔 할 것이고, Hello.class가 먼저 발견되면 리턴 할 것이다.
OSGi를 사용하여 특정 클래스를로드하는 경우이 문제를 피할 수 있습니다.
하지만 내 질문은 - 이것이 실행 여부와 상관없이 무엇입니까? 또는 java -classpath A.jar; B.jar com.testing.testcode는 동일한 클래스의 두 버전을 가지고 있기 때문에 세분화됩니다.
실행했을 때 어떤 현상이 발생 했습니까? 결과가 혼란 스럽습니까? –
충돌하는 클래스를 사용하지 않는 한 컴파일러는 자동으로 작동하므로 사용하자마자 package.classname 형식과 함께 사용해야합니다. 다른 코드는 컴파일되지 않습니다. –
글쎄, 해봤을 때 무슨 일이 있었 니? – scottb