java servlets amazon-ec2 google-glass google-mirror-api

java - Mapeo de proyectos de Google Glass Starter en AWS EC2



servlets amazon-ec2 (1)

Los archivos de guerra se expanden en un directorio con el mismo nombre que el archivo. Esto se convierte en el nombre de la aplicación web. Por lo tanto, un archivo llamado glass.war se expande en una aplicación web llamada glass y todas las referencias a él deben incluir el nombre de la aplicación web como parte de la ruta.

La ruta para OAuth sería algo como https://example.com/glass/oauth2callback . Debe ingresar esto en la consola del desarrollador como una de las URL de redireccionamiento.

Estoy atrapado en el proyecto inicial de Google Glass Java. Lo descargué con éxito y lo ejecuté localmente usando mvn embarcadero: ejecutar. Corre maravillosamente en localhost en mi máquina. Lo implementé en Google App Engine con éxito, pero quería agregarle más funcionalidades, así que decidí usar la biblioteca Java Quartz para enviar notificaciones programadas al material de vidrio. Desafortunadamente, la biblioteca de cuarzo funciona generando nuevos hilos y GAE no me permite hacerlo. Decidí ejecutarlo en un servidor por separado (Amazon EC2) y puedo implementarlo, pero tengo un error de mapeo de servlet.

El error que recibo es:

HTTP Status 404 - /oauth2callback type Status report message /oauth2callback description The requested resource (/oauth2callback) is not available.

He tratado de agregar la parte de "vidrio" a cada patrón de url pero eso no funciona. Soy consciente de que se trata de un problema de mapeo de servlets, pero no sé cómo solucionarlo. Este es mi web.xml

Esta es la parte servlets de mi web.xml

<!-- servlets --> <servlet> <servlet-name>main</servlet-name> <servlet-path>com.google.glassware.MainServlet</servlet-path> </servlet> <servlet-mapping> <servlet-name>main</servlet-name> <url-pattern>/glass/main</url-pattern> </servlet-mapping> <servlet> <servlet-name>oauth2callback</servlet-name> <servlet-path>com.google.glassware.AuthServlet</servlet-path> </servlet> <servlet-mapping> <servlet-name>oauth2callback</servlet-name> <url-pattern>/glass/oauth2callback</url-pattern> </servlet-mapping> <servlet> <servlet-name>notify</servlet-name> <servlet-path>com.google.glassware.NotifyServlet</servlet-path> </servlet> <servlet-mapping> <servlet-name>notify</servlet-name> <url-pattern>/glass/notify</url-pattern> </servlet-mapping> <servlet> <servlet-name>attachmentproxy</servlet-name> <servlet-path>com.google.glassware.AttachmentProxyServlet</servlet-path> </servlet> <servlet-mapping> <servlet-name>attachmentproxy</servlet-name> <url-pattern>/glass/attachmentproxy</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>

¿Alguien sería tan amable de señalarme en la dirección correcta? o explicar por qué esto no está funcionando?

ACTUALIZACIÓN Para las personas que tienen el mismo problema que estoy teniendo, lo arreglé. El usuario Prisoner me apuntó en la dirección correcta, pero estaba teniendo dificultades para seguir el ejemplo. Lo que quiere decir al ejecutar la aplicación como "ROOT" es ejecutar la aplicación en: http://amazon-server.com:8080/

Estaba tratando de ejecutarlo como "vidrio"

http://amazon-server.com:8080/glass

y estaba arruinando todo lo que estaba tratando de hacer. Todo lo que tienes que hacer es borrar la carpeta ROOT en tu carpeta webapps y cargar tu guerra precompilada con el nombre de "ROOT.war"

El comando exacto que utilicé fue:

scp -i myamazon.pem /Users/.../.../mirror-api-quickstart/target/glass-java-starter-0.1-SNAPSHOT.war [email protected]:/var/lib/tomcat7/webapps/ROOT.war

Debería funcionar sin problemas.

Muchas gracias Prisionero! :)