我坚持使用Google Glass Java Starter Project。 我已成功下载并使用mvn jetty:run在本地运行它。它在我的机器上的localhost上运行得很漂亮。我成功地将它部署到Google App Engine,但我想为它添加更多功能,因此我决定使用Java Quartz库将预定通知发送到玻璃器皿。不幸的是,石英库工作产生新的线程,GAE不允许我这样做。我决定在一个单独的服务器(Amazon EC2)中运行它,我能够部署它,但我有一个servlet映射错误。
我得到的错误是:
HTTP Status 404 - /oauth2callback
type Status report
message /oauth2callback
description The requested resource (/oauth2callback) is not available.
我试图在每个网址模式中添加“玻璃”部分,但这不起作用。 我知道这是一个servlet映射问题,但我不知道如何解决它。这是我的web.xml
这是我的web.xml中的servlets部分
<!-- 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>
有人会非常友好地指出我正确的方向吗?或解释为什么这不起作用?
更新 对于遇到同样问题的人,我修好了。用户囚徒指出了我正确的方向,但我在跟踪领先时遇到了困难。 通过将应用程序作为“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
它应该顺利运行。
非常感谢囚犯! :)
答案 0 :(得分:0)
战争文件扩展到与文件同名的目录中。然后,这将成为webapp的名称。因此,名为glass.war
的文件将扩展为名为glass
的Web应用程序,并且对它的所有引用都必须包含webapp名称作为路径的一部分。
OAuth的路径类似https://example.com/glass/oauth2callback
。您需要在开发人员控制台中将其作为重定向网址之一输入。