我在用:
带插件:
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.7.3")
Run Code Online (Sandbox Code Playgroud)
我正在使用universal:packgeBin生成通用zip文件并发布到ivy存储库.我想将zip文件名更改project_id_scalaversion_buildVersion.zip为project_id_scalaversion_buildVersion_dist.zip.我该怎么办?
例如:
lazy val someProject = project
.settings(
scalaVersion := "2.12.3",
libraryDependencies += "org.jcuda" % "jcuda" % "0.8.0"
)
Run Code Online (Sandbox Code Playgroud)
以上不解决:
sbt:someProject> update
[info] Updating ...
[info] downloading https://repo1.maven.org/maven2/org/jcuda/jcuda/0.8.0/jcuda-0.8.0.jar ...
[warn] Detected merged artifact: [NOT FOUND ] org.jcuda#jcuda-natives;0.8.0!jcuda-natives.jar (16ms).
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/org/jcuda/jcuda-natives/0.8.0/jcuda-natives-0.8.0-${jcuda.os}-${jcuda.arch}.jar
[info] [SUCCESSFUL ] org.jcuda#jcuda;0.8.0!jcuda.jar (227ms)
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: FAILED DOWNLOADS ::
[warn] :: ^ see resolution messages for details ^ ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.jcuda#jcuda-natives;0.8.0!jcuda-natives.jar
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
Run Code Online (Sandbox Code Playgroud)
请注意${jcuda.os}出现在错误消息中.
我刚开始使用matlab并且需要非常快速地完成这个程序,所以我没有时间完成所有的教程.
如果有人熟悉它,请解释以下声明正在做什么.
[Y,I]=max(AS,[],2);
Run Code Online (Sandbox Code Playgroud)
该[]之间AS和2是什么主要是困惑我.是否将最大值分配给两者Y和I?
我有使用2.8 beta的JavaConversions有问题:
import scala.collection.JavaConversions._
class Utils(dbFile : File, sep: String) extends IUtils {
(...)
def getFeatures() : java.util.List[String] = csv.attributes.toList
}
Run Code Online (Sandbox Code Playgroud)
然后例外:
[INFO] Utils.scala:20: error: type mismatch;
[INFO] found : List[String]
[INFO] required: java.util.List[String]
[INFO] def getFeatures() : java.util.List[String] = csv.attributes.toList
[INFO]
Run Code Online (Sandbox Code Playgroud) 如何使用for-comprehension返回可以分配给有序Map的内容?这是我所拥有的代码的简化:
class Bar
class Foo(val name: String, val bar: Bar)
val myList: java.util.List[Foo] = ...
val result: ListMap[String, Bar] =
for {
foo <- myList
} yield (foo.name, foo.bar)
Run Code Online (Sandbox Code Playgroud)
我需要确保我的结果是一个有序的Map,顺序是从for-comprehension返回的元组.
有了上述,我得到错误:
error: type mismatch;
found : scala.collection.mutable.Buffer[(String,Bar)]
required: scala.collection.immutable.ListMap[String,Bar]
foo <- myList
Run Code Online (Sandbox Code Playgroud)
这编译:
class Bar
class Foo(val name: String, val bar: Bar)
val myList: java.util.List[Foo] = ...
val result: Predef.Map[String, Bar] =
{
for {
foo <- myList
} yield (foo.name, foo.bar)
} toMap
Run Code Online (Sandbox Code Playgroud)
但后来我假设地图不会被排序,我需要一个明确的toMap调用.
我怎样才能做到这一点?
我正在使用scalaxb从XSD生成Scala代码.(特别是我正在使用maven scalaxb插件.)代码生成阶段顺利运行,并且眼睛注视它们,生成的scala文件看起来很好.但是当我尝试编译时,我得到了堆栈溢出:
[ERROR] error: java.lang.StackOverflowError
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:754)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:845)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:837)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:821)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:821)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:821)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
...
[INFO] at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:311)
[INFO] at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:294)
[INFO] at scala.tools.nsc.transform.ExplicitOuter$Phase.run(ExplicitOuter.scala:539)
[INFO] at scala.tools.nsc.Global$Run.compileSources(Global.scala:949)
[INFO] at scala.tools.nsc.Global$Run.compile(Global.scala:1034)
[INFO] at scala.tools.nsc.Main$.process(Main.scala:106)
[INFO] at scala.tools.nsc.Main$.main(Main.scala:123)
[INFO] at scala.tools.nsc.Main.main(Main.scala)
[INFO] ... 6 more
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我正在使用的xsd已经过测试并可以使用jaxb.
Scala版本是2.9.0-1,scalaxb是0.6.2.
背景:我有一个Play 2.0项目,我正在尝试在我的一些类(Java)中使用jar中的方面添加一些东西来进行aspectj编织.(sbt-aspectj似乎没有这样做,或者我看不出怎么样).所以我需要添加一个自定义任务,并依赖于编译.我有点想出了依赖部分.但是,因为我不确切知道我在做什么,但是,我想使用IDE开发它(我使用的是Scala-IDE).由于sbt项目(以及Play项目)是递归定义的,我假设我可以:
将sbt main jar(和aspectj jar)添加到myplay/project/project/build.sbt:
libraryDependencies ++ = Seq("org.scala-sbt"%"main"%"0.12.2","aspectj"%"aspectj-tools"%"1.0.6")
放入myplay /项目
我可以做到这一点,虽然build.scala(和其他scala文件)最初不被认为是源代码,我必须稍微改进构建路径.但是,即使我已经为项目定义了sbt main,eclipse IDE和编译任务都会产生错误:
> compile
[error] .../myplay/project/Build.scala:2: not found: object keys
[error] import keys.Keys._
[error] ^
[error] .../myplay/project/SbtAspectJ.scala:2: object Configurations is not a member of package sbt
[error] import sbt.Configurations.Compile
[error] ^
[error] .../myplay/project/SbtAspectJ.scala:3: object Keys is not a member of package sbt
[error] import sbt.Keys._
[error] ^
[error] three errors found
Run Code Online (Sandbox Code Playgroud)
eclipse项目在其引用库中既没有显示主要工具也没有方面工具.但是,如果我给它一个虚假的版本(例如0.12.4),重新加载失败,所以它似乎使用依赖.
所以,......首先:这是正确的方法吗?第二:如果是这样,为什么不添加库.(第三:请不要让我感到愚蠢,我错过了.)
作为sbt和sbt-assembly插件的新手我很困惑如何处理涉及我想要打包的依赖项中的不同类定义的构建.
[error] (*:assembly) deduplicate: different file contents found in the following:
[error] /Users/dm/.ivy2/cache/org.apache.tika/tika-app/jars/tika-app-1.3.jar:javax/xml/XMLConstants.class
[error] /Users/dm/.ivy2/cache/stax/stax-api/jars/stax-api-1.0.1.jar:javax/xml/XMLConstants.class
[error] /Users/dm/.ivy2/cache/xml-apis/xml-apis/jars/xml-apis-1.3.03.jar:javax/xml/XMLConstants.class
Run Code Online (Sandbox Code Playgroud)
我已经添加:
mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) =>
{
case PathList("javax", "xml", xs @ _*) => MergeStrategy.first
}
}
Run Code Online (Sandbox Code Playgroud)
到我的build.sbt文件,但我仍然得到上面的错误(无论它是否在构建文件中).任何指导将不胜感激.
谢谢,
唐
有没有办法在组装过程中增加内存(插件)?我注意到通过SBT_OPTS向sbt添加更多内存并没有多大帮助.我怀疑程序集正在分支一个单独的JVM,它不会从sbt继承JVM配置.
这是错误:
java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:Java堆空间
这是我没有太多运气的尝试:
javaOptions in assembly += "-Xmx2g"
我有一个使用X.509证书进行身份验证的WCF服务.创建可以使用该服务的Java客户端的最佳方法是什么?我听说过Axis,CXF,Tango和WSS4J,但我不确定哪个支持X.509,哪个是使用WCF的好方法.