我在java(jdbc / JAX-RS)中创建了一个非常简单的查询。该代码最终将充当Android应用程序的Web服务层。如果我创建并查询本地虚拟数据库(在eclipse中将其作为Java应用程序运行),查询将起作用,但如果我在本地Tomcat服务器上运行它,则会出现404错误。同样,当我将查询重定向到heroku上的外部数据库时,部署应用程序和数据库等我也从heroku获得404错误。
我的heroku日志没有明确地给我任何错误,但也许这些都是罪魁祸首?如果不是,还有其他想法吗?
2015-10-19T03:05:44.293588+00:00 app[web.1]: INFO: No global web.xml found
2015-10-19T03:05:50.795221+00:00 app[web.1]: INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
仅在FYI有用的范围内,我使用maven构建从Eclipse EE部署代码(目标:heroku:deploy-war)。
再次感谢!
答案 0 :(得分:0)
问题可能出在网址中。对于本地服务器,网址应为localhost:8080/page
,而不是localhost:8080/name_of_app/page
。
答案 1 :(得分:0)
我创建了两个 java + maven + tomcat + heroku项目。 并遇到了您的确切问题。我刚创建 3RD部署以再次复制问题 确保我的建议正确。
“未找到全局web.xml”是实际问题的“红鲱鱼/分散注意力”。 如果您的web.xml位于:
<HEROKU_MAVEN_TOMCAT_FOLDER>\src\main\webapp\WEB-INF\web.xml
是正确的,然后忽略该消息。 使用“ heroku日志--tail”并搜索 “ 错误R10 ”。
错误R10(引导超时)-> Web进程失败 在启动后90秒内绑定到$ PORT
这很可能是因为您正在使用自己的 将procfile中的LOCALHOST命令改为 PRODUCTION / LIVE命令。
示例:
正确:(procfile的内容(全部小写,无扩展名))
web: java $JAVA_OPTS -jar target/dependency/webapp-runner.jar --port $PORT target/*.war
错误:(procfile的内容(全部小写,无扩展名))
web: java -jar target/dependency/webapp-runner.jar --port 5001 target/*.war
而
java -jar target / dependency / webapp-runner.jar --port 5001 target / *。war
部署到 localhost 时正确, 其 procfile 的错误命令。
当我说“下一个问题”时 我的意思是您可能会遇到的下一个错误 在解决了先前的问题后最终告终。
原始服务器找不到当前 目标资源的表示形式 或不愿透露存在。
问题2修复: 要网站的根源做出响应,需要 要么: 1.一个映射到URL模式“ /”的servlet 2. src / main / webapp中的index.html 我使用最快的修复程序并做到了 index.jsp文件:
<html><body>
<h2>HELLO_FROM_SRC_MAIN_WEBAPP_INDEX_JSP</h2>
</body></html>