Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何利用JAR和WAR构建SBT项目?_Scala_Sbt_Web Application Project - Fatal编程技术网

Scala 如何利用JAR和WAR构建SBT项目?

Scala 如何利用JAR和WAR构建SBT项目?,scala,sbt,web-application-project,Scala,Sbt,Web Application Project,我之前问了一个关于如何将SBT用于多个子项目web应用程序的问题。这非常好,但是现在我正在尝试创建一个子项目,它不应该是一个webapp,而是其他webapp项目将依赖的(通用模型等)。有没有办法将此子项目与其他web应用程序子项目一起设置,或者我应该创建一个单独的项目AllToGetter,创建一个jar,并让我的web应用程序将其作为库依赖项 目前,我将中的非webapp项目的代码作为子项目,其他子项目依赖于它,即 lazy val admin = Project("admin", fil

我之前问了一个关于如何将SBT用于多个子项目web应用程序的问题。这非常好,但是现在我正在尝试创建一个子项目,它不应该是一个webapp,而是其他webapp项目将依赖的(通用模型等)。有没有办法将此子项目与其他web应用程序子项目一起设置,或者我应该创建一个单独的项目AllToGetter,创建一个jar,并让我的web应用程序将其作为库依赖项

目前,我将中的非webapp项目的代码作为子项目,其他子项目依赖于它,即

 lazy val admin = Project("admin", file("admin")) dependsOn(common) settings(webappSettings :_*)
                                                  // ^^^^ defines the dependency
 ... other project definitions                     

 lazy val common = Project("common", file("common")) 
这是可行的,但当我打包应用程序时,会得到一个
common.war

我可能还应该提到,公共项目确实包含一些依赖于Lift的与web相关的代码,但我希望它打包为一个jar,而不是一个war。。。哦,webapp wars似乎将实际的类包含在公共项目生成的war中

那么,我应该如何:

  • 创建一个
    common
    项目,该项目包含与web相关的代码(例如,需要运行使用jetty的测试),但要编译成jar
  • 是否在我的web应用程序项目中包含
    公共
    项目
  • 公共
    项目是否可以/应该作为子项目与我的web应用程序一起包含

我看到的大多数示例都将设置作为
项目
构造函数的最后一个参数,将
dependsOn
作为最后一个参数,如。你试过了吗?我不知道为什么你的行为会像你描述的那样,特别是为了“公共”项目而发动战争。我有一个项目,它构建了一个jar和一个war,您可能想看看。