我被Google Glass Java Starter項目卡住了。 我已成功下載並使用mvn jetty在本地運行它:運行。它在我的機器上運行在本地主機上。我成功地將它部署到Google App Engine,但我想爲其添加更多功能,因此我決定使用Java Quartz庫將預定通知發送到玻璃器皿。不幸的是,石英庫產生新的線程,GAE不允許我這樣做。我決定在單獨的服務器(Amazon EC2)中運行它,並且我可以部署它,但是我有一個servlet映射錯誤。Java AWS EC2中的Google Google Glass啓動器項目映射
我得到的錯誤是:
HTTP Status 404 - /oauth2callback
type Status report
message /oauth2callback
description The requested resource (/oauth2callback) is not available.
我嘗試添加「玻璃」部分,每個URL模式,但不起作用。 我知道這是一個servlet映射問題,但我不知道如何解決它。這是我的web.xml
這是servlet的部分從我的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>
會有人這麼好心給我指出正確的方向?或解釋爲什麼這不起作用?
UPDATE 對於有同樣問題的人我有,我修好了。用戶犯人指引我朝着正確的方向前進,但我在領導之後很難過。 他指運行應用程序的「ROOT」什麼是在應用程序運行: http://amazon-server.com:8080/
我試圖運行它作爲「玻璃」
http://amazon-server.com:8080/glass
並且它搞亂一切我試圖做的事情。所有你需要做的就是刪除該文件夾根目錄中的webapps的文件夾,並上傳您的預編譯的戰爭更名爲「ROOT.war」
我用具體的命令是:
scp -i myamazon.pem /Users/.../.../mirror-api-quickstart/target/glass-java-starter-0.1-SNAPSHOT.war [email protected]:/var/lib/tomcat7/webapps/ROOT.war
應該平穩運行。
非常感謝囚徒! :)
這聽起來類似於http://stackoverflow.com/questions/23284260/oauth-callback-in-the-glass-quick-starter-java-app。對你來說同樣的問題 - 你是否將它作爲ROOT webapp運行?如果不是,你運行它的名字是什麼? – Prisoner
是的,我確實看到了這個問題,但改變了一行「在這種情況下,在第53行,oauth2callback被映射到com.google.glassware.AuthServlet類。」沒有幫助。我有一個名爲「glass.war」的戰爭文件,我將它放在tomcat7/webapps目錄中。這部署戰爭文件,但運行該文件時,(即使網絡。xml被更改,AuthServlet類中的行)我仍然被重定向到http://aws-ec2blahblah.com/oauth2callback,並且無法顯示。這就是爲什麼我認爲這是一個映射問題,但我不知道如何前進。 – geekmlle