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-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:appengine-simple-jetty-main
dependensi:- 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.
Buat elemen
entrypoint
dalam fileapp.yaml
untuk memanggil objekappengine-simple-jetty-main
dan meneruskan file WAR sebagai argumen. Misalnya, lihat fileapp.yaml
contohhelloworld-servlet
: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.