Playframework 具有2个不同版本的多项目
我需要开发以下内容:Playframework 具有2个不同版本的多项目,playframework,sbt,akka,Playframework,Sbt,Akka,我需要开发以下内容: playframework应用程序 阿克卡http 共享库 play和akka应用程序都需要#3共享库 是否可以在一个sbt项目中创建两个不同的版本 因此,当我运行play build时,它不会包含akka,当我运行akka build时,它不会包含play代码 我只想避免打开和管理两个不同的项目。我使用包含3个子项目的多项目结构: Rootbuild.sbt: lazy val myLib = (project in file("my-lib")) lazy val p
我只想避免打开和管理两个不同的项目。我使用包含3个子项目的多项目结构: Root
build.sbt
:
lazy val myLib = (project in file("my-lib"))
lazy val playJava = (project in file("play-java"))
.enablePlugins(PlayJava)
.dependsOn(myLib)
lazy val runnableApp = (project in file("runnable-app"))
.dependsOn(myLib)
name := """play-java"""
version := "1.0-SNAPSHOT"
scalaVersion := "2.11.7"
name := """runnable-app"""
version := "1.0"
scalaVersion := "2.11.6"
mainClass in assembly := Some("com.example.Hello")
assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false)
libraryDependencies ++= Seq(
"junit" % "junit" % "4.12" % "test",
"com.novocode" % "junit-interface" % "0.11" % "test"
)
name := """my-lib"""
version := "1.0"
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
"junit" % "junit" % "4.12" % "test",
"com.novocode" % "junit-interface" % "0.11" % "test"
)
其中myLib
library,应该在play应用程序playJava
和简单java项目runnableApp
1.播放build.sbt
:
lazy val myLib = (project in file("my-lib"))
lazy val playJava = (project in file("play-java"))
.enablePlugins(PlayJava)
.dependsOn(myLib)
lazy val runnableApp = (project in file("runnable-app"))
.dependsOn(myLib)
name := """play-java"""
version := "1.0-SNAPSHOT"
scalaVersion := "2.11.7"
name := """runnable-app"""
version := "1.0"
scalaVersion := "2.11.6"
mainClass in assembly := Some("com.example.Hello")
assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false)
libraryDependencies ++= Seq(
"junit" % "junit" % "4.12" % "test",
"com.novocode" % "junit-interface" % "0.11" % "test"
)
name := """my-lib"""
version := "1.0"
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
"junit" % "junit" % "4.12" % "test",
"com.novocode" % "junit-interface" % "0.11" % "test"
)
2.runnableAppbuild.sbt
:
lazy val myLib = (project in file("my-lib"))
lazy val playJava = (project in file("play-java"))
.enablePlugins(PlayJava)
.dependsOn(myLib)
lazy val runnableApp = (project in file("runnable-app"))
.dependsOn(myLib)
name := """play-java"""
version := "1.0-SNAPSHOT"
scalaVersion := "2.11.7"
name := """runnable-app"""
version := "1.0"
scalaVersion := "2.11.6"
mainClass in assembly := Some("com.example.Hello")
assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false)
libraryDependencies ++= Seq(
"junit" % "junit" % "4.12" % "test",
"com.novocode" % "junit-interface" % "0.11" % "test"
)
name := """my-lib"""
version := "1.0"
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
"junit" % "junit" % "4.12" % "test",
"com.novocode" % "junit-interface" % "0.11" % "test"
)
3.myLibbuild.sbt
:
lazy val myLib = (project in file("my-lib"))
lazy val playJava = (project in file("play-java"))
.enablePlugins(PlayJava)
.dependsOn(myLib)
lazy val runnableApp = (project in file("runnable-app"))
.dependsOn(myLib)
name := """play-java"""
version := "1.0-SNAPSHOT"
scalaVersion := "2.11.7"
name := """runnable-app"""
version := "1.0"
scalaVersion := "2.11.6"
mainClass in assembly := Some("com.example.Hello")
assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false)
libraryDependencies ++= Seq(
"junit" % "junit" % "4.12" % "test",
"com.novocode" % "junit-interface" % "0.11" % "test"
)
name := """my-lib"""
version := "1.0"
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
"junit" % "junit" % "4.12" % "test",
"com.novocode" % "junit-interface" % "0.11" % "test"
)
在sbt会话中,我们可以选择项目。例如:
$ project playJava
[info] Set current project to play-java ...
现在我们可以在当前子项目上运行任务