"There's nothing here yet" 在 Azure 上部署 Java Web 应用程序之后

"There's nothing here yet" after deploying Java Web App on Azure

我有一个要在 Azure 上部署的 Web 应用程序。我按照推荐的说明部署了我的应用程序,根据 Azure 门户,一切正常。但是,当我访问我的应用程序应该驻留的 URL 基地时,我看到一个页面显示以下内容:

This Java based web application has been successfully created

There's nothing here yet, but Microsoft Azure makes it simple to publish content with GIT and FTP

此外,当我访问我的应用程序应该具有的任何一个端点(在本例中为 /live 端点)时,我总是会看到一个包含以下消息的页面:

HTTP ERROR 404

Problem accessing /live. Reason:

Not Found

Powered by Jetty:// 9.3.13.v20161014

当我查看机器上的目录时,一切似乎都已到位。我所有的文件都在 wwwroot 里面。然而,在 wwwroot 下有另一个名为 webapp 的目录,里面是另一个名为 ROOT 的目录,有两个文件:index.jspbackground.pngindex.jsp 是显示上述 "There's nothing here yet" 消息的页面。

我使用 Bitbucket 作为我的源代码控制提供者,我使用 jetty 运行 我的网络应用程序。我还使用 javalite 作为库来管理我的服务器和不同的端点。

您需要将您的东西放在 wwwroot/webapps/ROOT/ 下,或者将其打包为 ROOT.war 并将其放在 wwwroot/webapps 下 - 它会自动提取和提取:

wwwroot
 └── webapps
        └── ROOT
            ├── about.jsp
            ├── Content
            │   ├── favicon.ico
            │   └── Site.css
            ├── Images
            │   ├── banner_coffee.png
            ├── index.jsp
            ├── META-INF
            │   ├── context.xml
            │   └── MANIFEST.MF
            ├── orderconfirmation.jsp
            ├── placeorder.jsp
            ├── Scripts
            │   ├── jquery-1.7.1.min.js
            └── WEB-INF
                ├── classes
                ├── lib
                ├── log4j.properties
                └── web.xml

来自 https://github.com/Azure-Samples/app-service-web-java-get-started:

The main thing in the repo is a webapps folder with ROOT.war. The Tomcat/Jetty server in App Service will look inside this folder for web apps to host.

ROOT.war represents the default web app (at the site root). Any WAR file that's otherwise named represents a web app accessbile at ~/<WARfilename>.

正在收拾东西

  • 如果您的应用程序位于 wwwroot/webapps/CoffeeShop/,那么您将在 http://{site}.azurewebsites.net/CoffeeShop/.

    访问它
  • 如果您的应用程序位于 wwwroot/webapps/ROOT/,那么您将在 http://{site}.azurewebsites.net/.

    访问它