문제

Java 1.3에서 실행되는 서버 - 클라이언트 응용 프로그램이 있습니다. Java 1.6 단계별로 Java 1.6으로 변경하고 싶습니다. 이는 나머지 클라이언트와 마지막으로 서버보다 처음 소수의 클라이언트를 의미합니다 ... 나는 당신이 나올 수있는 몇 가지 일반적인 문제와 내가 돌봐야 할 몇 가지 일반적인 문제로 나를 안내 할 수 있을지 궁금했습니다.

도움이 되었습니까?

해결책

Sun은 높은 수준의 후진 호환성을 유지하려고 시도하므로 새 JVM을 설치하고 응용 프로그램을 다시 시작할 수 있습니다.

이전 버전을 사용한 Java 1.6의 후진 불합성을 설명하는 문서는 여기. 이 문서는 호환-대결을 연결합니다 Java 1.5 그리고 Java 1.4 또한. 가능한 함정에 대해 배우기 위해이 문서를 읽고 싶을 것입니다.

Java 1.5 및 Java 1.6 새로운 클래스 파일 형식을 소개했습니다. JVM은 이전 클래스 파일도 실행하지만, 특히 JDK 1.6을 사용하여 코드를 다시 컴파일하면 새로운 JVM이 애플리케이션을 더 빨리 만들기 위해 일부 변경 사항을 활용하는 데 도움이됩니다. 따라서 재 컴파일을 고려할 수 있습니다.

또한 일부 새로운 키워드가 소개되었으며, 즉 (1.4)와 Enum (1.5) (Yuval이 이미 언급 한 것처럼)이 소개되었습니다. 이 단어를 식별자로 사용하면 재 컴파일이 실패하지만 이전 클래스 파일이 작동합니다. 스위치를 제공 할 수 있습니다 -source Javac에게 컴파일하도록하십시오. 'javac -source 1.3'없이 코드를 컴파일 할 것입니다 주장하다 그리고 열거적 키워드로.

다른 팁

내 머리 꼭대기에서 이름을 찾아 enum 그리고 assert 필드 및 로컬 변수에서 ...이 단어는 Java 1.4 및 5의 키워드가되었습니다. Java 6 컴파일러는 보는 경우 컴파일 오류로 표시됩니다.

유발 = 8-)

Sun은 각각의 새 버전의 Java와 함께 소개되는 비 호환성 목록을 유지합니다.

1.4.2의 마지막 문서에는 호환성 노트에 대한 링크가 JDK 1.0으로 돌아갑니다.

일반적으로 Sun의 JVM의 거꾸로 호환성은 매우 좋지만 완벽하지는 않습니다. 나는 3 개의 매우 큰 응용 프로그램이 1.3에서 1.5로 이동하는 것을 보았고 적은 수의 문제 만 발생하는 것을 보았습니다. 가장 큰 문제는 끝없는 이벤트 처리 루프로 들어가서 1.4 미만의 앱을 동결시키는 스윙 마스크였습니다.

서버 부분은 문제를 일으키지 않을 가능성이 높지만, 특히 1.3에서 1.4 사이의 스윙에서 큰 변화가있었습니다. 예를 들어 포커스 서브 시스템이 완전히 다시 작성되었습니다.

앱이 문제없이 실행될 가능성이 있지만 광범위한 테스트를 수행해야합니다.

내가 작업 한 작은 애플릿에서 1.4.2에서 1.5로 이사했을 때 많은 것들이 깨졌습니다. 화면 새로 고침이 모두 원고, 요소가 움직였습니다.

Sun의 JRE는 후진 호환성을 유지하지 않습니다 모든 것. 때로는 품목이 더 이상 사용되지 않으면 매우 짧은 시간 후에 완전히 사라집니다.

우리는 Sun 's Libraries를 사용하여 "Stock"Java와 함께 모든 것을 썼습니다.

또한 순수한 Java로 작성된 여러 응용 프로그램을 보았습니다.이 버전의 다른 버전의 JRE FAIL에서 하나 또는 두 개의 플랫폼에서 잘 작동하는 여러 응용 프로그램이 해당 버전을 사용하여 다른 버전에서 실패했습니다 (지금 Windows에서 작동하는 제품은 Mac OS X에서 OK에서 잘 작동합니다. Linux에서는 괜찮지 만 Solaris에서는 모두 동일한 JRE를 사용합니다).

응용 프로그램이 실제로 작지 않는 한 버전 이동은 간단한 단계가 아닙니다.

내 경험은 호환성이 상당히 높다는 것입니다. 현재 버전에서 실행할 수없는 앱이 하나만 발견되었습니다. 어떤 이유로 든 (소스가 없어서, 파헤쳐지지 않았다) 하나의 앱이 1.4.2 이외의 다른 앱에서 실행되지 않을 것입니다. 내가 처리 한 다른 모든 것 (일부는 상당히 상당한 규모)이 최대 1.6으로 나왔습니다. 수정이 필요하지 않습니다.

ymmv 물론, 당신은 그것을 시도하고보아야 할 것입니다 ...

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