다른 JAR에서 같은 패키지로 두 클래스를 얻었다. 이전 버전이 나올 때까지 두 클래스 모두 동일하므로로드하는 데 문제가 없었습니다. 이제 그들 중 하나는 새로운 메소드가 추가되었습니다. 액세스하고자한다면 클래스를 그 패키지와 함께 가져와야 할뿐만 아니라 정확한 클래스를 가진 jar 파일이 classpath에 먼저 오도록해야합니다.다른 JAR에 두 클래스로드하기
즉 javac -classpath "%classpath%;a.jar;b.jar" MyClasses..
a.jar
나의 새로운 방법으로 클래스를 가지고
.
내 앱이 WEB-INF/lib 아래에있는 모든 라이브러리와 함께 EAR 파일로 배포되는 프로덕션 환경으로 이동하면 어떻게 보장 할 수 있습니까?
어떤 병이 다른 병보다 어떤 병을 선호하는지 어떻게 알 수 있습니까? a.jar에 b.jar보다 우선 순위가 부여 된 것과 같은 알파벳 순서입니까?
이 safe-class-imports-from-jar-files 스레드를 읽었으며 사용자 정의 클래스 로더 작성에 대해 알게되었지만 더 간단한 해결책이 있습니까? 이제이 현재 프로젝트의 전체 JAR에서이 메서드에 액세스하고 클래스 로더를 작성하는 것이 약간 잔인한 것처럼 보일뿐입니다.
그리고 "다른 JAR에서 같은 패키지로 같은 클래스를 사용하는 이유는 무엇입니까?" 그것은 나의 통제의 안에서 와 절대적으로있다. 그리고 이것을 바로 잡는 데 약간의 시간이 걸릴 것이다.
환경 세부 사항 : 1.5 Java에서 IBM WAS 6.1.
제가별로 의미가 없으면 더 궁금한 점이 있습니까? 미리 감사드립니다!
모두들 대단히 감사합니다. 결국, 내가 말하기 싫은만큼, 누구나 제안 할 수있는 유일한 진정한 해결책은 중복을 제거하는 것입니다. 그 외에도 bootclasspath 또는 app 서버의 classpath에 jar 파일을 추가 할 수있는 옵션이 있지만 배포가 나에 의해 수행되지 않았기 때문에 해당 옵션이 실행 가능하지 않은 것처럼 보입니다. 나는 곧 대답을 받아 들일 것이다. 다시 한번 고마워. – asgs