如何使用sbt onejar跳过在程序集中执行测试?

如何使用sbt onejar跳过在程序集中执行测试?,sbt,onejar,Sbt,Onejar,是否有人可以帮助解决此项目文件的故障,原因是尽管程序集中有test:={},但测试始终运行 import sbt._ import Keys._ import org.scalatra.sbt._ import org.scalatra.sbt.PluginKeys._ import com.mojolly.scalate.ScalatePlugin._ import ScalateKeys._ import com.github.retronym.SbtOneJar import com.ea

是否有人可以帮助解决此项目文件的故障,原因是尽管程序集中有
test:={}
,但测试始终运行

import sbt._
import Keys._
import org.scalatra.sbt._
import org.scalatra.sbt.PluginKeys._
import com.mojolly.scalate.ScalatePlugin._
import ScalateKeys._
import com.github.retronym.SbtOneJar
import com.earldouglas.xsbtwebplugin.PluginKeys._
import com.earldouglas.xsbtwebplugin.WebPlugin._
import sbtassembly.Plugin._
import AssemblyKeys._
import sbtassembly.Plugin.AssemblyKeys._


object MyAppBuild extends Build {
  val Organization = "my.organization"
  val Name = "myapp"
  val Version = "0.1.0-SNAPSHOT"
  val ScalaVersion = "2.11.1"
  val ScalatraVersion = "2.3.0"

  // settings for sbt-assembly plugin
  val myAssemblySettings = assemblySettings ++ Seq(

// handle conflicts during assembly task
mergeStrategy in assembly <<= (mergeStrategy in assembly) {
  (old) => {
    case PathList("javax", "servlet", xs @ _*)         => MergeStrategy.first
    case PathList(ps @ _*) if ps.last endsWith ".html" => MergeStrategy.first
    case "application.conf" => MergeStrategy.concat
    case "unwanted.txt"     => MergeStrategy.discard
    case x => old(x)
  }
},

// copy web resources to /webapp folder
resourceGenerators in Compile <+= (resourceManaged, baseDirectory) map {
  (managedBase, base) =>
    val webappBase = base / "src" / "main" / "webapp"
    for {
      (from, to) <- webappBase ** "*" x rebase(webappBase, managedBase / "main" / "webapp")
    } yield {
      Sync.copy(from, to)
      to
    }
}
  )

  lazy val project = Project (
    "myapp",
    file("."),
    settings = Defaults.defaultSettings ++ ScalatraPlugin.scalatraWithJRebel ++
  SbtOneJar.oneJarSettings ++
  scalateSettings ++ Seq(
  organization := Organization,
  name := Name,
  version := Version,
  scalaVersion := ScalaVersion,
  port in container.Configuration := 9000,

  /****** This has no effect *****/
  test in assembly := {},
  /*******************************/

  resolvers ++= Seq (Classpaths.typesafeReleases,
    "anormcypher" at "http://repo.anormcypher.org/"
    /** other repos skipped  */

  libraryDependencies ++= Seq(
    "org.scala-lang" % "scala-reflect" % ScalaVersion,
    "org.scala-lang" % "scala-compiler" % ScalaVersion,
    "org.scalaz" %% "scalaz-core" % "7.0.6",
    /** other dependencies skipped */

  ),
  scalateTemplateConfig in Compile <<= (sourceDirectory in Compile){ base =>
    Seq(
      TemplateConfig(
        base / "webapp" / "WEB-INF" / "templates",
        Seq.empty,  /* default imports should be added here */
        Seq(
          Binding("context", "_root_.org.scalatra.scalate.ScalatraRenderContext", importMembers = true, isImplicit = true)
        ),  /* add extra bindings here */
        Some("templates")
      )
    )
  }
)
  ).settings(myAssemblySettings:_*)
.settings( parallelExecution in ThisBuild := false : _* )

}
导入sbt_
导入密钥_
导入org.scalatra.sbt_
导入org.scalatra.sbt.PluginKeys_
导入com.mojolly.scalate.ScalatePlugin_
导入缩放键_
导入com.github.retronym.SbtOneJar
导入com.earldouglas.xsbtwebplugin.PluginKeys_
导入com.earldouglas.xsbtwebplugin.WebPlugin_
导入sbtasemply.Plugin_
导入组装键_
导入sbtasemply.Plugin.AssemblyKeys_
对象MyAppBuild扩展了Build{
val Organization=“我的组织”
val Name=“myapp”
val Version=“0.1.0-SNAPSHOT”
val ScalaVersion=“2.11.1”
val ScalatraVersion=“2.3.0”
//sbt汇编插件的设置
val myAssemblySettings=assemblySettings++Seq(
//在程序集任务期间处理冲突
在assembly mergeStrategy.first中使用mergeStrategy
如果ps.last endsWith“.html”=>MergeStrategy.first,则为案例路径列表(ps@*)
案例“application.conf”=>MergeStrategy.concat
案例“多余的.txt”=>MergeStrategy.discard
案例x=>旧(x)
}
},
//将web资源复制到/webapp文件夹
编译中的资源生成器
val webappBase=base/“src”/“main”/“webapp”
为了{

(从,到)我也不知道答案,但我强烈建议
inspect
所涉及的键。我会从组装项目的命令开始-这是
oneJar
?执行
inspect oneJar
,看看它依赖于什么。使用
inspect tree
可能会很有用。请注意在项目中使用GitHub让其他让我们使用完整的构建来找到解决方案?