Dokumen ini menjelaskan cara mengemas ulang aplikasi Java 8 sebagai file JAR
untuk dijalankan pada runtime Java 11/17.
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
Petunjuk berikut menunjukkan cara memaketkan ulang aplikasi hello-world
App Engine
Java 8 sebagai JAR untuk dijalankan di runtime Java 11/17.
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
file: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. VersiWAR
harus sama dengan versi yang tercantum di filepom.xml
Anda: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-war
dengan menjalankan perintah berikut dari folderjava-docs-samples/appengine-java11/appengine-simple-jetty-main/
Anda:mvn exec:java -Dexec.args="../flexible/java-11/helloworld-war/target/helloworld-1.war"
Di browser web, masukkan alamat berikut:
Untuk men-deploy aplikasi menggunakan plugin Maven:
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Ganti PROJECT_ID dengan ID project Google Cloud Anda. Jika file
pom.xml
sudah menentukan project ID, Anda tidak perlu menyertakan properti-Dapp.deploy.projectId
dalam perintah yang dijalankan singkat ini.