我最近使用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/,它指出我需要在webapps文件夹中放置一个WAR文件。我已经按照指南使用Play2War插件将我的Play应用程序打包为WAR文件。然后我通过FTP将WAR文件添加到d:\ home \ site \ wwwroot \ bin \ apache-tomcat-7.0.52 \ webapps。
但是,当我访问网站时,我看到的是默认的tomcat页面。
第一个问题 :
我是否正确使用了Play2War插件?
我修改了plugins.sbt和build.sbt
plugins.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")
build.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应用程序重命名为ROOT.war用于Tomcat 7,但这仍然无效。
第二个问题 :
是否有更简单的方法在Azure上部署我的应用程序?
谢谢!
答案 0 :(得分:0)
请告诉我您的天蓝网站名称,我可以调查一下。在上传ROOT.war文件之前,请确保删除位于:\ home \ site \ wwwroot \ bin \ apache-tomcat-7.0.52 \ webapps中的文件夹ROOT。一旦你上传你的ROOT.war,tomcat应该自动部署war文件,即将其内容提取到ROOT目录中。但只是为了确定,重新启动你的azure网站然后点击你的azure网站。