Eclipse 관련 작업에 3 개의 관련 Java 프로젝트가 있습니다. ClassCommon은 세 번째 프로젝트에서 필요한 패키지를 가져온 이후 프로젝트 1과 프로젝트 2에서 액세스 할 수 있다고 말합니다. 로컬 시스템의 동일한 jvm에서 프로젝트 1과 2를 실행하고 있습니다.두 Java 프로젝트 사이의 공통 변수 값을 런타임에 반영하지 않음
제 문제는 이것입니다. 나는 제 3 프로젝트의 'ClassCommon'클래스로 작성된 프로젝트 1 프로젝트 2 사이에 공통 변수와 메소드를 가지고 있습니다. 공통 변수는 공용 정적 변수로 선언됩니다. 그러나 공통 변수에 액세스하여 런타임에 project1 프로세스에서 값을 설정할 때 project2 프로세스는 여전히 초기화 된 첫 번째 값만 갖습니다. 한 프로젝트의 프로세스에서 공통 변수를 변경하면 다른 프로젝트의 프로세스에 반영되지 않습니다. 두 프로젝트의 변수에 ClassCommon.variable_name으로만 액세스하고 있습니다. 이 두 프로젝트가 공통 정적 변수의 사본을 어떻게 다른지? 스테핑으로 디버깅 할 때 project1과 project2 프로세스는 모두 동일한 클래스 메소드를 사용하지만 변수는 공용 정적이지만 자신의 값을 갖고 있습니다. 누군가이 문제에 대해 명확하게 설명 할 수 있습니까?
동일한 JVM에서 서버와 클라이언트가 실행 중입니까? –
동일한 JVM에서 실행되지 않는 경우 동일한 클래스 로더에서 실행되고 있습니까? –
예 두 프로젝트가 동일한 시스템 및 동일한 JVM 클래스 로더에서 실행 중임 – CRM