Jika bermigrasi ke versi Java terbaru yang didukung dan aplikasi Anda tidak menggunakan layanan paket lama, Anda harus mengemas ulang aplikasi web App Engine Java 8 menjadi file JAR yang dapat dieksekusi.
Aplikasi Anda harus memiliki class Main
yang memulai server web yang
merespons permintaan HTTP pada port yang ditentukan oleh variabel lingkungan PORT
,
biasanya 8081.
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-samples
Atau, 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 install
Tambahkan kode berikut ke file
pom.xml
project 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-dependency
ke build Anda, App Engine akan menginstal dependensi yang Anda tentukan ke folder yang benar.
- Dependensi
Buat elemen
entrypoint
dalam fileapp.yaml
untuk memanggil objekappengine-simple-jetty-main
dan meneruskan file WAR sebagai argumen. Misalnya, lihat contohhelloworld-servlet
fileapp.yaml
:Untuk menjalankan aplikasi Anda secara lokal:
Paketkan aplikasi Anda:
mvn clean package
Mulai server dengan file WAR Anda sebagai argumen.
Misalnya, Anda dapat memulai server dalam contoh
helloworld-servlet
dengan 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 project Google Cloud Anda. Jika file
pom.xml
Anda sudah menentukan project ID , Anda tidak perlu menyertakan properti-Dapp.deploy.projectId
dalam perintah yang Anda jalankan.