Se stai eseguendo la migrazione alla versione di Java supportata più recente e la tua app non usa in bundle legacy, devi rielaborare App Engine L'applicazione web Java 8 in un file JAR eseguibile.
L'applicazione deve avere una classe Main
che avvia un server web
risponde alle richieste HTTP sulla porta specificata dall'ambiente PORT
, in genere 8081.
Ad esempio:
Esempio di migrazione WAR (Java 11)
Le seguenti istruzioni mostrano come creare un nuovo pacchetto App Engine
L'applicazione Java 8 hello-world
come JAR da eseguire sul runtime Java 11.
La migrazione utilizza l'artefatto appengine-simple-jetty-main
. Ciò fornisce un
Classe Main
con un semplice server web Jetty che carica un file WAR e pacchetti
la tua app in un file JAR eseguibile:
Clona l'artefatto del server Jetty incorporato sulla tua macchina locale:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
In alternativa, puoi scaricare l'anteprima 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 in locale:
mvn install
Aggiungi il seguente codice al file di progetto
pom.xml
:- Dipendenza
appengine-simple-jetty-main
: - Plug-in
maven-dependency
: App Engine esegue il deployment dei file che si trovano Directory${build.directory}/appengine-staging
. Aggiungendo il parametro Plug-inmaven-dependency
alla build, installazioni di App Engine le dipendenze specificate nella cartella corretta.
- Dipendenza
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 la tua applicazione in locale:
Pacchettizza la tua 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 della tua 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.