我最近使用 Play 2.3.4 创建了一个小型 Web 应用程序。它在本地运行良好,所以现在我想在 Windows Azure 上运行它。
到目前为止,我已经按照本指南 http://azure.microsoft.com/en-us/documentation/articles/web-sites-java-get-started/ 使用 Azure 应用程序库创建了一个 Java 网站。 。我选择的服务器是 Apache Tomcat 7。接下来的步骤是本指南,http://azure.microsoft.com/en-us/documentation/articles/web-sites-java-add-app/ ,其中指出我需要将 WAR 文件放入 webapps 文件夹中。我已按照指南使用 Play2War 插件将 Play 应用程序打包为 WAR 文件。然后我通过 FTP 将该 WAR 文件添加到 d:\home\site\wwwroot\bin\apache-tomcat-7.0.52\webapps。
但是,当我访问该网站时,我看到的只是默认的 tomcat 页面。
第一个问题:
我是否正确使用了 Play2War 插件?
我修改了plugins.sbt和build.sbt
插件.sbt
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.4")
// web plugins
addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-jshint" % "1.0.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.0.0")
addSbtPlugin("com.github.play2war" % "play2-war-plugin" % "1.3-beta2")
构建.sbt
import com.github.play2war.plugin._
name := """playtest4"""
version := "1.0-SNAPSHOT"
Play2WarPlugin.play2WarSettings
Play2WarKeys.servletVersion := "3.0"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
javaJdbc,
javaEbean,
cache,
javaWs
)
之后,我安装了 sbt 并运行了 sbt war 命令。 play2war 部署页面显示,如果我想将我的应用程序部署为根上下文 http://host:port/
我需要将 WAR 应用程序重命名为 Tomcat 7 的 ROOT.war,但这仍然没有不起作用。
第二个问题:
是否有更简单的方法在 Azure 上部署我的应用程序?
谢谢!
最佳答案
请告诉我您的 azure 网站名称,我可以进行调查。请确保在上传 ROOT.war 文件之前删除 :\home\site\wwwroot\bin\apache-tomcat-7.0.52\webapps 中的文件夹 ROOT。此外,一旦您上传 ROOT.war,tomcat 就会自动部署该 war 文件,即将其内容提取到 ROOT 目录中。但为了确保万无一失,请重新启动您的 azure 网站,然后访问您的 azure 网站。
关于java - 在 Windows Azure 上部署 Play 2.3.X 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25754404/