Jika bermigrasi ke versi Java terbaru yang didukung dan aplikasi Anda tidak menggunakan layanan paket lama, Anda harus memaketkan ulang aplikasi web Java 8 App Engine Anda menjadi file JAR yang dapat dieksekusi.
Aplikasi Anda harus memiliki class Main yang memulai server web yang merespons
permintaan HTTP di port 8080, yang mungkin ditentukan oleh variabel lingkungan PORT.
Contoh:
Contoh migrasi WAR (Java 11)
Petunjuk berikut menunjukkan cara memaketkan ulang aplikasi hello-world Java 8
App Engine sebagai JAR untuk dijalankan di runtime Java 11.
Migrasi menggunakan artefak appengine-simple-jetty-main. Tindakan ini akan menyediakan
class Main dengan server web Jetty sederhana yang memuat file WAR dan memaketkan
aplikasi Anda ke dalam file JAR yang dapat dieksekusi:
Clone artefak Jetty Server Tersemat ke komputer lokal Anda:
git clone https://github.com/GoogleCloudPlatform/java-docs-samplesAtau, Anda dapat mendownload contoh sebagai file ZIP dan mengekstraknya.
Ubah ke direktori yang berisi kode contoh:
cd java-docs-samples/appengine-java11/appengine-simple-jetty-main/Instal dependensi secara lokal:
mvn installTambahkan kode berikut ke file
pom.xmlproject Anda:- Dependensi
appengine-simple-jetty-main: - Plugin
maven-dependency: App Engine men-deploy file yang berada di direktori${build.directory}/appengine-staging. Dengan menambahkan pluginmaven-dependencyke build Anda, App Engine akan menginstal dependensi yang Anda tentukan ke folder yang benar.
- Dependensi
Buat elemen
entrypointdalam fileapp.yamluntuk memanggil objekappengine-simple-jetty-maindan meneruskan file WAR sebagai argumen. Misalnya, lihat contohhelloworld-servletfileapp.yaml:Untuk menjalankan aplikasi Anda secara lokal:
Paketkan aplikasi Anda:
mvn clean packageMulai server dengan file WAR Anda sebagai argumen.
Misalnya, Anda dapat memulai server dalam contoh
helloworld-servletdengan menjalankan perintah berikut dari folderjava-docs-samples/appengine-java11/appengine-simple-jetty-main/Anda:mvn exec:java -Dexec.args="../helloworld-java8/target/helloworld.war"Di browser web, masukkan alamat berikut:
Untuk men-deploy aplikasi Anda:
alat gcloud
gcloud app deploy
Plugin Maven
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Ganti PROJECT_ID dengan ID Google Cloud project Anda. Jika file
pom.xmlsudah menentukan project ID , Anda tidak perlu menyertakan properti-Dapp.deploy.projectIddalam perintah yang dijalankan.