2015-04-29 13 views
5

Ho seguito the documentation for using app.yaml with Java che afferma che questo dovrebbe funzionare e che genererà web.xml e appengine-web.xml automaticamente. Tuttavia, non sembra funzionare e non menziona quale strumento genererà i file.Come utilizzare app.yaml con Java runtime in App Engine v1.9.18?

ho provato un mvn clean install che gli errori fuori perché i file .xml mancano:

[ERRORE] Impossibile eseguire org.apache.maven.plugins obiettivo: Maven-guerra-plugin: 2.4: la guerra (è richiesto l'attributo webxml (o WEB-INF/web.xml pre-esistente se l'esecuzione in modalità di aggiornamento) -> [Aiuto 1]

ho poi: default-guerra) su progetto Roger-analisi: errore di montaggio gUERRA provato a eseguire il server di sviluppo locale:

$ gcloud preview app run app.yaml 
ERROR: (gcloud.preview.app.run) An error occurred while parsing file: [/Users/blixt/src/roger-api/module_analytics/app.yaml] 
Unexpected attribute 'servlet' for object of type URLMap. 
    in "/Users/blixt/src/roger-api/module_analytics/app.yaml", line 7, column 12 

(ottengo lo stesso errore dal dev_appserver.py . tra l'altro)

Sembra che app.yaml non è supportato, dopo tutto. Mi manca qualcosa o è stato rimosso il supporto senza aggiornare la documentazione?

Ecco la mia app.yaml di file, che è destinato a funzionare come modulo nel mio progetto Google Cloud App Engine (insieme ad altri moduli che hanno Python e Go tempi di esecuzione):

module: analytics 
runtime: java 
api_version: 1 

handlers: 
- url: /* 
    servlet: im.rgr.roger.RogerAnalytics 
    login: admin 
    secure: always 

system_properties: 
    java.util.logging.config.file: WEB-INF/logging.properties 

risposta

2

Ci sono diverse questioni in gioco Qui. Descriverò vari fatti quel gruppo insieme per creare una costellazione di SDK bordo caso bontà (queste informazioni sono aggiornate al SDK 1.9.21):

  • Per distribuire utilizzando s' appcfg.sh il Java SDK, è necessario disporre di app.yaml nella cartella war/WEB-INF/.

  • appcfg.py reclami Unexpected attribute 'servlet' for object of type URLMap..

  • gcloud preview app deploy usa appcfg.py (o lo stesso codebase) e, pertanto, si lamenta anche nello stesso modo


Quindi, in conclusione, è necessario utilizzare appcfg.sh

+0

Questa risposta è stata modificato, dal momento che inizialmente pensavo ci fossero più problemi di quanti ce ne siano. L'uso dell'SDK Java per implementare il progetto Java è abbastanza sano, anche se sarebbe bello se Gcloud lo sapesse invece di eseguire l'impostazione predefinita su appcfg.py. Ti invito a presentare un [problema di rilevamento di un problema pubblico per questo] (https://code.google.com/p/googleappengine/issues/), come richiesta di bug * o * segnalazione di bug. – Nick

+0

Ho lo stesso problema, ma ho rimosso il Java SDK standalone ('appcfg.sh') molto tempo fa dopo che' gcloud' mi aveva detto di evitare i conflitti. Abbiamo usato 'appengine-maven-plugin' ma sto provando' gcloud-maven-plugin' (0.9.68.v20150707). C'è un modo semplice per 'gcloud' e' appcfg.sh' per coesistere? – tx802

+1

Qualcuno ha ora creato un [problema] (https://code.google.com/p/googleappengine/issues/detail?id=12119), che ho recitato come protagonista. – tx802

Problemi correlati