Udostępnij przez


Przejście z języka Java 7 do środowiska Java 8

Ten artykuł zawiera ogólne wskazówki dotyczące migrowania aplikacji z środowiska Java 7 do środowiska Java 8. Użycie funkcji języka Java 8 nie jest omówione.

Nie ma jednego uniwersalnego rozwiązania do przejścia kodu z języka Java 7 do języka Java 8. Przejście z języka Java 7 do środowiska Java 8 jest zwykle niewielką ilością pracy. Potencjalne problemy obejmują kilka zmienionych interfejsów API, zaostrzenie wnioskowania typu w kompilatorze javac, zmiany w ładowaniu klas i zmiany w permgen (część odzyskiwania pamięci).

Ogólnie rzecz biorąc, najlepszym rozwiązaniem jest spróbować uruchomienia na Java 8 bez ponownego kompilowania. Takie podejście umożliwi jak najszybsze uruchomienie aplikacji. W przypadku biblioteki twoim celem będzie opublikowanie artefaktu skompilowanego i przetestowanego przy użyciu zestawu JDK 8.

Java 7 End of Life (EOL)

Wsparcie społeczności zakończy się, gdy środowisko Java 7 osiągnie koniec życia w dniu 29 lipca 2022 r. Wszystkie aplikacje uruchomione w środowisku Java 7 będą nadal działać, ale sam język Java 7 nie będzie otrzymywać aktualizacji ani poprawek zabezpieczeń. Aby zminimalizować ryzyko i potencjalne luki w zabezpieczeniach, uaktualnij aplikacje do środowiska Java 8 lub 11 w zależności od wymagań dotyczących obciążenia.

Canonijnym przewodnikiem, którego należy przestrzegać, jest Przewodnik migracji Oracle JDK (Oracle JDK Migration Guide). Przewodnik migracji obejmuje wszystkie niezgodności w specyfikacji języka Java i niezgodności w implementacji zestawu JDK. Większość z tych niezgodności to przypadki brzegowe i należy zbadać, kiedy zostanie wyświetlone ostrzeżenie lub wystąpi błąd.

Uruchamianie w środowisku Java 8

Większość aplikacji powinna działać w środowisku Java 8 bez modyfikacji. Pierwszą rzeczą, którą należy spróbować, jest uruchomienie w środowisku Java 8 bez ponownego komplikowania kodu. Chodzi o to, aby zobaczyć, jakie ostrzeżenia i błędy pojawiają się podczas wykonywania. Takie podejście uzyskuje rezultat
aplikacja działająca szybciej w środowisku Java 8 dzięki skupieniu się na minimalnym zakresie prac, które muszą zostać wykonane.

Większość problemów można rozwiązać bez konieczności ponownego kompilowania kodu. Jeśli musisz rozwiązać problem w kodzie, wprowadź poprawkę, ale kontynuuj kompilowanie przy użyciu zestawu JDK 7. Jeśli to możliwe, należy najpierw pracować nad uruchomieniem aplikacji z wersją 8 przed jej skomplikowaniem przy użyciu JDK 8.

Kompilowanie przy użyciu języka Java 8

Kompilowanie przy użyciu zestawu JDK 8 może wymagać aktualizacji skryptów kompilacji, narzędzi, struktur testowych i dołączonych bibliotek. Użyj opcji -Xlint:unchecked dla javac, aby uzyskać szczegółowe informacje na temat korzystania z wewnętrznego interfejsu API zestawu JDK i innych ostrzeżeń.

Migracja poza środowisko Java 7 dla usługi Azure App Service

Aby przeprowadzić migrację usług App Services z środowiska Java 7 do środowiska Java 8 lub 11, zaloguj się do portalu Azure, przejdź do aplikacji internetowych, które chcesz zaktualizować, a następnie przejdź do pozycji KonfiguracjaUstawienia stosu. Zobaczysz listy rozwijane dla głównych i pomocniczych wersji Javy oraz wersję Tomcata, jeśli używasz Tomcata. Wybierz pozycję Java 8 lub 11. Pamiętaj, że możesz wprowadzić tę zmianę konfiguracji w miejscu wdrożenia, aby bezpiecznie przetestować zmianę konfiguracji, a następnie zamienić nowe środowisko na środowisko produkcyjne. (Środowisko Java 7 może być ukryte, aby uniemożliwić klientom pobieranie zależności od starych środowisk uruchomieniowych). Aby uzyskać więcej informacji, zobacz Konfigurowanie środowisk przejściowych w usłudze Azure App Service.

Użyj selektora, aby zmienić wersję języka Java

Możesz użyć JAVA_TOOLS ustawienia aplikacji, jeśli musisz określić jakiekolwiek nowe opcje środowiska uruchomieniowego i zostaną one zastosowane podczas uruchamiania aplikacji. Aby uzyskać więcej informacji, zobacz Konfigurowanie aplikacji Java dla usługi Azure App Service. Aby uzyskać więcej informacji na temat polityki wsparcia dla czasów wykonywania w usłudze App Service, zobacz sekcję Wbudowane języki i struktury w przeglądzie usługi App Service.

Dalsze kroki

Po uruchomieniu aplikacji w środowisku Java 8 zalecamy wykonanie ścieżki modernizacji języka Java do środowiska Java 11 przy użyciu poniższych przewodników.