我按照此处描述的说明将我的 Play2 应用程序部署到 CloudBees:https://developer.cloudbees.com/bin/view/RUN/Playframework
我的 Build.scala 设置如下所示:
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA)
.settings(cloudBeesSettings :_*)
.settings(CloudBees.applicationId := Some("application"))
.settings(CloudBees.username := Some("username"))
.settings(CloudBees.apiKey := Some("0123456789ABCDEF"))
.settings(CloudBees.apiSecret := Some("88888889999999$999999998888888="))
.settings(CloudBees.host := "https://api.cloudbees.com/api")
.settings(
// Add your own project settings here
)
但是,我在部署时收到以下消息:
[info] Deploying application-1.0-SNAPSHOT to Run@Cloud/username/application
........................uploaded 25%
........................uploaded 50%
........................uploaded 75%
........................upload completed
deploying application to server(s)...
....[info] Application available at http://application.username.cloudbees.net
[error] {file:/Users/user/dev/play2/Application/application/}Application/*:cloudbees-deploy: java.lang.ExceptionInInitializerError
[error] Total time: 74 s, completed Feb 3, 2013 7:44:43 PM
当我访问 http://application.username.cloudbees.net 时,出现“502 Bad Gateway - nginx/1.2.0”错误...
我想这是因为我使用的是 Mac,它有 Java 1.7,而 CloudBees 期待 1.6 ......?从 sbt-cloudbees-play-plugin 项目源代码中,我可以看到可以将“deployParams”选项设置为 Map 的位置,但我对 Scala 完全陌生,不确定如何操作。我想在 Build.scala 中做一些类似的事情,但我不断收到错误消息:
.settings(CloudBees.deployParams += ("java_version" -> "1.7"))
此处描述了 java_version 参数:https://developer.cloudbees.com/bin/view/RUN/JVMVersion
你可以在这里看到项目的来源:https://github.com/CloudBees-community/sbt-cloudbees-play-plugin/blob/master/src/main/scala/cloudbees.scala
我不知道该怎么做或我的部署可能有什么问题?即使在没有数据库连接的情况下创建全新的 Play 应用程序时,它也会继续失败。
对我可能做错的任何见解将不胜感激:) 谢谢!
最佳答案
你可以试试这些选项。
CloudBees.deployParams := Map("runtime.java_version" -> "1.7"),
CloudBees.openOnUpload := false,
第一个选项将运行时设置为 java 1.7,这可能是您的问题。如果 sbt 使用的是 JDK7,那么您需要将 RUN@cloud 平台设置为 java 7。
第二个选项通过在部署时禁用浏览器打开来修复
ExceptionInInitializerError
。根据我的经验,此错误表明您的计算机上正在使用 Java 7,因为我只在 Java 7 而不是 Java 6 中看到过此错误。关于scala - "502 Bad Gateway"与 CloudBees Play2 部署(Java 和 Scala),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14679201/