scala – 有什么方法可以部署静态文件,以便Spray可以为它们服务
我有一个html页面,我想在喷涂服务器中提供它.
我熟悉https://github.com/spray/spray/wiki/File-and-Resource-Directives >如何创建可以部署到Spray的存档(类似于可以部署到webapps目录的Tomcat的.war文件)? 我的项目结构就像 src/main/resources/<files to include in main jar here> src/main/scala/<main Scala sources> src/main/java/<main Java sources> src/main/test/resources/<files to include in test jar here> src/main/scala/<test Scala sources> src/main/java/<test Java sources> 所以我需要保持名为“client”的目录.我需要保存我的.html文件和js文件,我的HTML引用. 如果我在SBT交互模式下发出一个包命令,它会给我一个jar.如何从build.sbt或build.scala运行该jar 解决方法
如您所述,Spray可以提供静态内容.例如:
val myRoute = get { compressResponse()(getFromResourceDirectory("client")) ~ path("") { getFromResource("client/index.html") } } 将从JAR文件提供服务.在这种情况下,客户端是已打包在JAR存档中的目录. BTW这适用于开发模式,也没有包装JAR. 有两种方法可以运行基于Spray的应用程序,可以是嵌入式Spray-can服务器(JAR文件),也可以是容器(WAR文件). 如果您使用Tomcat或其他Web容器,则可以使用其中一个SBT插件创建常规WAR文件.例如,https://github.com/earldouglas/xsbt-web-plugin可以打包WAR文件. 如果您想在Spray-can服务器上运行您的Web应用程序,您可以使用现成的模板:https://github.com/spray/spray-template.BTW Spray在那里提供基于Jetty和Spray-can的模板. 您始终可以使用其他SBT插件并创建一个自定义构建,该构建将打包WAR或JAR文件中的所有内容.关于Spray-can的一件事是它基本上是一个普通的应用程序,它有一个主类,它启动一个服务,监听一些端口(8080)和一个提供请求的actor系统,所以你不需要任何web服务器或容器来运行它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |