Se esegui la migrazione alla versione Java supportata più recente e la tua app non utilizza i servizi pacchettizzati precedenti, devi ripacchettare l'applicazione web App Engine Java 8 in un file JAR eseguibile.
L'applicazione deve avere una classe Main
che avvii un server web che risponde alle richieste HTTP sulla porta specificata dalla variabile di ambiente PORT
, in genere 8081.
Ad esempio:
Esempio di migrazione WAR (Java 11)
Le istruzioni riportate di seguito mostrano come eseguire il nuovo pacchettizzazione di un'applicazione App Engine Java 8 hello-world
come file JAR da eseguire nel runtime Java 11.
La migrazione utilizza l'elemento appengine-simple-jetty-main
. Fornisce una classe Main
con un semplice server web Jetty che carica un file WAR e pacchettizza la tua app in un file JAR eseguibile:
Clona l'elemento Embedded Jetty Server sulla tua macchina locale:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
In alternativa, puoi scaricare il sample come file ZIP ed estrarlo.
Passa alla directory che contiene il codice di esempio:
cd java-docs-samples/appengine-java11/appengine-simple-jetty-main/
Installa la dipendenza localmente:
mvn install
Aggiungi il codice seguente al file
pom.xml
del progetto:appengine-simple-jetty-main
dipendenza:maven-dependency
plugin: App Engine esegue il deployment dei file che si trovano Directory${build.directory}/appengine-staging
. Aggiungendo il plug-inmaven-dependency
alla build, App Engine installa le dipendenze specificate nella cartella corretta.
Crea un elemento
entrypoint
nel fileapp.yaml
per chiamare il metodoappengine-simple-jetty-main
e passa il file WAR come . Ad esempio, consulta l'esempio dihelloworld-servlet
app.yaml
file:Per eseguire l'applicazione in locale:
Crea il pacchetto dell'applicazione:
mvn clean package
Inizia il server con il tuo file WAR come argomento.
Ad esempio, puoi avviare il server Esempio di
helloworld-servlet
eseguendo questo comandojava-docs-samples/appengine-java11/appengine-simple-jetty-main/
cartella:mvn exec:java -Dexec.args="../helloworld-java8/target/helloworld.war"
Nel browser web, inserisci il seguente indirizzo:
Per eseguire il deployment dell'applicazione:
Strumenti gcloud
gcloud app deploy
Plug-in Maven
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud. Se il tuo
pom.xml
file specifica ID progetto , non è necessario includere la proprietà-Dapp.deploy.projectId
nel il comando che esegui.