Transisi dari Java 7 ke Java 8

Artikel ini menyediakan panduan tingkat tinggi tentang migrasi aplikasi Anda dari Java 7 ke Java 8. Penggunaan fitur Java 8 tidak tercakup.

Tidak ada solusi satu-ukuran-untuk-semua untuk kode transisi dari Java 7 ke Java 8. Pindah dari Java 7 ke Java 8 biasanya merupakan pekerjaan yang kecil. Masalah potensial termasuk beberapa API yang diubah, pengetatan inferensi jenis di javac, perubahan pada pemuat kelas, dan perubahan pada permgen (bagian dari pengumpulan sampah).

Secara umum, pendekatan terbaik adalah mencoba menjalankan di Java 8 tanpa kompilasi ulang terlebih dahulu. Pendekatan ini akan membuat aplikasi Anda aktif dan berjalan secepat mungkin. Untuk pustaka, tujuan Anda adalah menerbitkan artefak yang dikompilasi dan diuji dengan JDK 8.

Akhir Masa Pakai Java 7 (EOL)

Dukungan komunitas akan berakhir ketika Java 7 mencapai Akhir Masa Pakai pada 29 Juli 2022. Aplikasi apa pun yang berjalan di Java 7 akan terus berjalan, tetapi Java 7 itu sendiri tidak akan menerima pembaruan atau patch keamanan. Untuk meminimalkan risiko dan potensi kerentanan keamanan, tingkatkan aplikasi Anda ke Java 8 atau 11 tergantung pada persyaratan beban kerja Anda.

Panduan kanonis untuk diikuti adalah Panduan Migrasi Oracle JDK. Panduan migrasi mencakup semua ketidaksesuaian dalam spesifikasi Java dan ketidaksesuaian dalam implementasi JDK. Sebagian besar ketidakmampuan ini adalah kasus tepi, dan Anda harus menyelidiki ketika Anda melihat peringatan atau mengalami kesalahan.

Berjalan di Java 8

Sebagian besar aplikasi harus berjalan pada Java 8 tanpa modifikasi. Hal pertama yang harus dicoba adalah menjalankan pada Java 8 tanpa mengolah ulang kode. Inti dari hanya menjalankan adalah untuk melihat peringatan dan kesalahan apa yang dihasilkan proses eksekusi. Pendekatan ini mendapatkan
aplikasi untuk berjalan pada Java 8 lebih cepat dengan berfokus pada pekerjaan minimum yang perlu dilakukan.

Anda dapat mengatasi sebagian besar masalah yang mungkin Anda temui tanpa harus kompilasi ulang kode. Jika Anda harus memperbaiki masalah dalam kode, maka lakukan perbaikan, tetapi tetaplah kompilasi dengan JDK 7. Jika memungkinkan, bekerjalah untuk menjalankan aplikasi dengan java versi 8 sebelum mengkompilasi dengan JDK 8.

Mengkompilasi dengan Java 8

Mengkompilasi dengan JDK 8 mungkin memerlukan pembaruan untuk skrip build, alat, kerangka kerja pengujian, dan pustaka yang disertakan. Gunakan opsi -Xlint:unchecked untuk javac guna mendapatkan detail tentang penggunaan API internal JDK dan peringatan lainnya.

Migrasi dari Java 7 untuk Azure App Service

Untuk memigrasikan App Services dari Java 7 ke Java 8 atau 11, masuk ke portal Azure, navigasikan ke aplikasi web yang ingin Anda perbarui, lalu buka Konfigurasi>Pengaturan>Pengaturan Stack. Anda akan melihat dropdown untuk versi utama dan minor Java, dan versi Tomcat jika Anda menggunakan Tomcat. Pilih Java 8 atau 11. Ingat, Anda dapat membuat perubahan konfigurasi ini di slot penyebaran untuk menguji perubahan konfigurasi dengan aman, lalu menukar lingkungan baru ke dalam produksi. (Java 7 mungkin disembunyikan untuk menjaga pelanggan agar tidak mengambil dependensi pada runtime lama.) Untuk informasi selengkapnya, lihat Menyiapkan lingkungan penahapan di Azure App Service.

Use the selector to change your Java version

Anda dapat menggunakan pengaturan aplikasi JAVA_TOOLS jika anda perlu menentukan opsi runtime baru, dan mereka akan diterapkan saat aplikasi Anda dimulai. Untuk informasi selengkapnya, lihat bagian Mengonfigurasi aplikasi Java untuk Azure App Service. Untuk informasi selengkapnya tentang kebijakan dukungan untuk runtime pada App Service, lihat bagian Bahasa dan kerangka kerja bawaan dari gambaran umum App Service.

Langkah berikutnya

Setelah Anda menjalankan aplikasi di Java 8, sebaiknya ikuti jalur modernisasi Java ke Java 11 menggunakan panduan berikut.