我有一个简单的akka Http服务器:
import akka.http.scaladsl.model.{ContentTypes, HttpEntity}
import akka.http.scaladsl.server.HttpApp
import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.settings.ServerSettings
import com.typesafe.config.ConfigFactory
object MinimalHttpServer extends HttpApp {
def route =
pathPrefix("v1") {
path("subscribe" / Segment) { id =>
get {
complete(HttpEntity(ContentTypes.`text/html(UTF-8)`, s"<h1>Hello $id from Akka Http!</h1>"))
} ~
post {
entity(as[String]) { entity =>
complete(HttpEntity(ContentTypes.`text/html(UTF-8)`, s"<b>Thanks $id for posting your message <i>$entity</i></b>"))
}
}
}
}
}
object MinimalHttpServerApplication extends App {
MinimalHttpServer.startServer("localhost", 8088, ServerSettings(ConfigFactory.load))
}
我使用Sbt native Packager构建通用zip。当我将我的应用程序部署到Aws Elastic Beanstalk时,我收到此错误:
[实例:i-0a846978718d54d76]实例上的命令失败。返回码:1输出:(TRUNCATED)... xml_2.11-1.0.5.jar无法启动应用程序,因为源包不包含名为application.jar或Procfile的文件。无法启动应用程序,因为源包不包含名为application.jar或Procfile的文件。挂钩/opt/elasticbeanstalk/hooks/appdeploy/pre/01_configure_application.sh失败。有关更多详细信息,请使用控制台或EB CLI检查/var/log/eb-activity.log。
任何想法?谢谢!
答案 0 :(得分:0)
似乎AWS Elastic Beanstalk要求您的.zip包含名为application.jar
的文件或Procfile,而sbt-native-packager
创建的zip看起来不一样。
似乎sbt-native-packager
不支持Elastic Beanstalk期望的格式,但GitHub issue 632显示了在该方向上完成的一些工作。