Spring Boot和Scala以sbt作为构建工具

早些时候,我曾在博客中介绍过将Scala与Spring Boot结合使用以及该组合如何工作。 但是,以前的方法存在一个问题–运行早期配置的唯一方法是将项目构建到jar文件中并运行jar文件。

./gradlew build
java -jar build/libs/spring-boot-scala-web-0.1.0.jar

Spring boot带有一个基于gradle的插件,该插件应该允许该项目使用“ gradle bootRun”命令运行,不幸的是,这给基于scala的项目带来了错误。

一个好的解决方法是使用sbt来构建和运行基于Spring-boot的项目。 不过要注意的是,对于gradle和maven,依赖项的版本将通过父pom进行管理,现在必须明确指定这些版本。 这是一个示例sbt构建文件,其中阐明了依赖性:

name := "spring-boot-scala-web"

version := "1.0"

scalaVersion := "2.10.4"

sbtVersion := "0.13.1"

seq(webSettings : _*)

libraryDependencies ++= Seq(
  "org.springframework.boot" % "spring-boot-starter-web" % "1.0.2.RELEASE",
  "org.springframework.boot" % "spring-boot-starter-data-jpa" % "1.0.2.RELEASE",
  "org.webjars" % "bootstrap" % "3.1.1",
  "org.webjars" % "jquery" % "2.1.0-2",
  "org.thymeleaf" % "thymeleaf-spring4" % "2.1.2.RELEASE",
  "org.hibernate" % "hibernate-validator" % "5.0.2.Final",
  "nz.net.ultraq.thymeleaf" % "thymeleaf-layout-dialect" % "1.2.1",
  "org.hsqldb" % "hsqldb" % "2.3.1",
  "org.springframework.boot" % "spring-boot-starter-tomcat" % "1.0.2.RELEASE" % "provided",
  "javax.servlet" % "javax.servlet-api" % "3.0.1" % "provided"
)


libraryDependencies ++= Seq(
  "org.apache.tomcat.embed" % "tomcat-embed-core"         % "7.0.53" % "container",
  "org.apache.tomcat.embed" % "tomcat-embed-logging-juli" % "7.0.53" % "container",
  "org.apache.tomcat.embed" % "tomcat-embed-jasper"       % "7.0.53" % "container"
)

在这里,我还使用xsbt-web-plugin ,它是用于构建scala Web应用程序的插件。

xsbt-web-plugin还附带命令来启动基于tomcat或码头的容器并在这些容器中运行应用程序,但是我很难使它们工作。

起作用的是runMain命令,通过sbt启动Spring-boot主程序:

runMain mvctest.SampleWebApplication

xsbt-web-plugin允许使用“ package”命令将项目打包为war文件,该war部署并运行在独立的tomcat容器中,没有任何问题。

这是具有以下更改的github项目:https://github.com/bijukunjummen/spring-boot-scala-web.git

翻译自: https://www.javacodegeeks.com/2014/04/spring-boot-and-scala-with-sbt-as-the-build-tool.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值