AWS EC2中的Java Google Glass入门项目映射

我坚持使用Google Glass Java Starter Project。 我已成功下载并使用mvn jetty:run在本地运行它。 它在我的机器上的localhost上运行得很漂亮。 我成功将其部署到Google App Engine,但我想为其添加更多function,因此我决定使用Java Quartz库向玻璃器皿发送预定通知。 不幸的是,石英库工作产生新的线程,GAE不允许我这样做。 我决定在一个单独的服务器(Amazon EC2)中运行它,我能够部署它,但我有一个servlet映射错误。

我得到的错误是:

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

我试图在每个url模式中添加“glass”部分,但这不起作用。 我知道这是一个servlet映射问题,但我不知道如何解决它。 这是我的web.xml

这是我的web.xml中的servlet部分

    main com.google.glassware.MainServlet   main /glass/main   oauth2callback com.google.glassware.AuthServlet   oauth2callback /glass/oauth2callback   notify com.google.glassware.NotifyServlet   notify /glass/notify   attachmentproxy com.google.glassware.AttachmentProxyServlet   attachmentproxy /glass/attachmentproxy   index.jsp  

有人会非常友好地指出我正确的方向吗? 或解释为什么这不起作用?

更新对于遇到同样问题的人,我修复了它。 用户囚徒指出了我正确的方向,但我很难跟随领先。 通过将应用程序作为“ROOT”运行,他的意思是运行应用程序: http : //amazon-server.com : 8080 /

我试图将它作为“玻璃”运行

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

它正在弄乱我试图做的一切。 您所要做的就是删除webapps文件夹中的文件夹ROOT并上传重命名为“ROOT.war”的预编译战争

我使用的确切命令是:

  scp -i myamazon.pem /Users/.../.../mirror-api-quickstart/target/glass-java-starter-0.1-SNAPSHOT.war ubuntu@ec2-99-99-99-99.compute-1.amazonaws.com:/var/lib/tomcat7/webapps/ROOT.war 

它应该顺利运行。

非常感谢囚犯! 🙂

战争文件扩展到与文件同名的目录中。 然后,这将成为webapp的名称。 因此,名为glass.war的文件将扩展为名为glass的webapp,并且对它的所有引用都必须包含webapp名称作为路径的一部分。

OAuth的路径类似于https://example.com/glass/oauth2callback 。 您需要在开发人员的控制台中将其作为重定向URL之一输入。