왜 Java가 새로운 버전의 JAR 파일을 요청하지 않는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/951215

문제

Java 응용 프로그램 (Java Client 및 Java Server)을 업데이트 할 때마다 일부 클라이언트가 약. 1% -2%가 새 JAR 파일을로드하지 않습니다. 이것은 애플릿과 Java Web Start에서도 발생합니다. Java 캐시를 지우면 모든 것이 올바르게 작동합니다.

Java가 시작마다 새 JAR 파일을 확인하지 않는 이유는 무엇입니까?

도움이 되었습니까?

해결책

이것은 해결하는 데 문제가 될 수 있지만이를위한 쉬운 해결 방법이 있습니다. 올바른 캐시 업데이트에 의존하는 대신 JAR 파일 이름에 응용 프로그램의 버전 / 빌드 번호가 포함되어 있는지 확인하십시오. 새 버전의 애플릿 용 JAR 파일은 다른 URL에서 효과적으로 실시됩니다 (부트 스트랩 웹 페이지를 변경해야 함).

다른 팁

나는 거기에 있었고 100% 작동하는 유일한 솔루션은 자원 (항아리, 이미지 등)과 다른 경로/URL을 갖는 것입니다. 캐싱 메커니즘에서 버그가 될 수 없다고 보장 할 수는 없습니다 (2-3 릴리스마다 JDK 변경 목록을 보면 항아리의 캐싱 메커니즘과 관련된 것이 있습니다).

따라서 (Jar URL의 끝에서 마지막으로 수정 된 시간을 문자열로 추가하십시오) 문제가 없습니다.

전 : http : //myserver/applet/codebase/your_jar.jar? v = 2487387543434 그리고 다음 버전이 될 것입니다 http : //myserver/applet/codebase/your_jar.jar? v = 343438534545455 <- 이것은 Jar의 마지막 수정 시간입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top