如何使用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让其他让我们使用完整的构建来找到解决方案?